You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
1.9 KiB
C++

#pragma once
#include "item.h"
//#include "PropertiesDlg.h"
class CSigmaDoc;
namespace NItem
{
#pragma pack(1)
struct ProportionData
{
double x;
double y;
// double ScaleFactor; // 比例
double ScaleLength; // 比例长度
double ScaleHeight; // 比例高度
int ViewMode; // 显示模式
int num; // 个数
int Unit; // 长度单位
int ColorR; // 颜色 R
int ColorG; // 颜色 G
int ColorB; // 颜色 B
double TextScale; // 文本比例
int TextSpace; // 文本间隔
int TextAlign; // 文本对齐
double TextWidth; // 文本宽度
double TextHeight; // 文本高度
};
#pragma pack()
class CItemProportion : public CItem
{
protected:
BOOL m_bLButtonDown;
CProportion*m_pBakProportion;
int m_nAlignsH;
static int m_bAlone;
int m_nProportionMode;
//CPropertiesDlg* m_pDlg;
CSize8 m_size;
public:
CItemProportion(CSigmaDoc * ppDoc);
virtual ~CItemProportion(void);
void SetProportion(CProportion* pProportion);
void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk) override;
void OnDraw(CXyDC* pDC) override;
void DrawAssistant(CDC * pDC, int mouseX, int mouseY) override;
virtual BOOL DoSelectEnd(void);
void SetPos(POSITION pos) override;
void OnOK(void) override;
void OnCancel(void) override;
void InsertProportion(void);
int ChangeScale(double scale);
int ChangeScaleHeight(double height);
int ChangeNumber(int number);
//参数说明:mode 0--普通式 1--现代式 2--流行式
int ChangeShowMode(int mode);
int ChangeUnit(int unit);
int ChangeColor(int r, int g, int b);
int ChangeTextScale(double scale);
int ChangeAlign(int align);
int ChangeTextHeight(int height);
int ChangeTextWidth(int width);
int ChangeTextHeightAlone(int alone);
int ChangeCoordinate(double x, double y);
int Add();
int GetScale();
int GetData(ProportionData * data);
void SetParameter(ProportionData * data);
void InvalideOne();
private:
COLORREF m_color;
CProportion* m_pProportion;
};
}