#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; }; }