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