|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
//文件 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);
|
|
|
};
|
|
|
|