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.

102 lines
2.8 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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