////////////////////////////////////////////////////////////////////////////// //文件 InsertDraw.h //主要功能: // //程序编写: 2005-12-07 ///////////////////////////////////////////////////////////////////////////// #pragma once #include ".\pointnamerect.h" #define COORDINATE_LEFT_BOTTOM 0x00000001 //坐标为左下角 #define COORDINATE_CENTER 0x00000002 //坐标为插入的中心 //当符号指定为空时,显示的形态,与曲线类型号相连接 #define INSERT_DRAW_PLUS 0x00000800 //显示为加号(缺省) #define INSERT_DRAW_CIRCLE 0x00001000 //显示为圆形 #define INSERT_DRAW_ASTERISK 0x00002000 //显示为星号 #define INSERT_DRAW_CROSS 0x00004000 //显示为叉号 #define INSERT_DRAW_DOT 0x00008000 //显示为点状 #define INSERT_DRAW_H_LINE 0x00010000 //显示为水平线 #define INSERT_DRAW_V_LINE 0x00020000 //显示为垂直线 #define INSERT_DRAW_ALL (INSERT_DRAW_PLUS|INSERT_DRAW_CIRCLE|INSERT_DRAW_ASTERISK|INSERT_DRAW_CROSS|INSERT_DRAW_DOT|INSERT_DRAW_H_LINE|INSERT_DRAW_V_LINE) //CInsert为老版本的符号显示 class AFX_EXT_CLASS CInsertOld : public CPointNameRect { public: CInsertOld(void); virtual ~CInsertOld(void); void Serialize(CArchive& ar, const short &ver) override; virtual void Write(CFile& fw, const short& ver); virtual int Read(CFile& fr, const short& ver); virtual BOOL IsInRange(CRect8& range); virtual bool GetRange(CRect8& range); virtual void WriteDML(CFile &fw, const short& ver, int nBaseTabNum); virtual int ReadDML(CFile &fr, const short &ver); virtual void WritePCG(CFile &fw, const short& ver, int nBaseTabNum); virtual int ReadPCG(CFile &fr, const short &ver); void operator=(CInsertOld& id); int PositionNew(int bReplace=1); void GetNewUsing(CStringList &list); void SetDrawMode(UINT nMode); UINT GetDrawMode(void); void* pDraw; DWORD m_nFlags; public: virtual int ReadPCG(void *pxp, const short &ver); }; //新版本的符号显示 class AFX_EXT_CLASS CInsertDraw : public CInsertOld { public: CInsertDraw(void); virtual ~CInsertDraw(void); void Serialize(CArchive& ar, const short &ver) override; virtual void Write(CFile& fw, const short& ver); virtual int Read(CFile& fr, const short& ver); virtual void WriteDML(CFile &fw, const short& ver, int nBaseTabNum); virtual int ReadDML(CFile &fw, const short &ver); virtual void WritePCG(CFile &fw, const short& ver, int nBaseTabNum); virtual int ReadPCG(CFile &fw, const short &ver); virtual int ReadPCG2(CFile &fr, const short &ver); void operator=(CInsertDraw& id); int ReadInsertOld(CFile& fr); void* CreateUngroupXY(void); //解散符号,返回的为CXy指针 CRect8 rect; void SetExtendMode(UINT nMode); UINT GetExtendMode(void); enum drawExtendModeFlags { modeStrech = 0x00000004, //拉伸 modeCenter = 0x00000008, //居中 modeAll = (modeStrech|modeCenter) }; public: virtual int ReadPCG(void *pxp, const short &ver); virtual int ReadPCG2(void *pxp, const short &ver); };