tag.h

来自「VC做的矢量画图程序!」· C头文件 代码 · 共 103 行

H
103
字号
// Tag.h: interface for the CTag class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TAG_H__E45749A2_D981_11D2_AE7B_444553540000__INCLUDED_)
#define AFX_TAG_H__E45749A2_D981_11D2_AE7B_444553540000__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

class CLine;
class CPline;
class CCircle;
class CArc;
class CText;
class CDraw;
class CDataBaseSet;

typedef struct
{
	BOOL bDisplay;		//是否显示
	float x;			//虚框左下角的插入点的横坐标
	float y;			//虚框左下角插入点的纵坐标
	float WidthAll;		//虚框的宽度
	float HeightAll;	//虚框的高度
	short int LineNumb;	//虚框的行数
	short int ColNumb;	//虚框的列数
	float width[50];	//虚框每行的宽度
	float height[50];	//虚框每行的高度
	long cc;
}FormXkStruct;

class CBlock :public CObject	//管理一个图形块(或电子表格)的类
{
public:
	CBlock(int iD,CString fName);
	CBlock(int iD,CString fName,CString Name,short DatabaseID);
	CBlock()
	{
		m_LineNumb=0;
		m_PLineNumb=0;
		m_CircleNumb=0;
		m_ArcNumb=0;
		m_TextNumb=0;
		m_FormrgnNumb=0;
		m_DatabaseID=-1;
		m_iD=-1;
		IsOpen=FALSE;
		formxk1.LineNumb=5;//10;
		formxk1.ColNumb=5;//10;
		formxk1.bDisplay=0;
		for(int i=0;i<5;i++)
		{
			formxk1.height[i]=20;
			formxk1.width[i]=20;
		}
		formxk1.HeightAll=100;//200;
		formxk1.WidthAll=100;//200;
		formxk1.cc=255;
	}
	virtual ~CBlock();

	float x,y;			//插入点的坐标
protected:
	DWORD reverserd;
	float m_xMin,m_xMax,m_yMin,m_yMax;
	int m_GraphNumb;	//图形元素的数目
	int m_FormrgnNumb;	//表格域的数目
	int m_LineNumb,m_PLineNumb,m_CircleNumb,m_ArcNumb,m_TextNumb;	//各种图形元素的数目
	short m_DatabaseID;	//当为电子表格时,为电子表格连接的记录集合对象的识别号
	CFile fblock;		
	BOOL IsOpen;		//图形块(或电子表格)文件是否打开
	DECLARE_SERIAL(CBlock);
private:
	CObArray m_GraphArray;
	CDataBaseSet* m_pSet;	//指向电子表格要显示的记录集合对象
	BOOL m_bDrawtype;		//绘制类型0-只绘制边框,1-绘制表格域内的内容
public:
	short int m_iD;		//唯一的识别号
	FormXkStruct formxk1;	//表格虚框的参数
	CString fileName;	//图形块(电子表格)文件的名称
	CString	m_Name;		//电子表格名称
	CDraw* AddGraph(CDraw* pDraw);
	CDraw* GetGraph(int Index);
	BOOL ReadFile(BOOL isRead);
	BOOL Clear(BOOL all);
	void CalRect();
	void SetInsertPoint(float x_Insert,float y_Insert);
	void Draw(CDC* pDC,float xInsert,float yInsert,float x_scale,float y_scale,int DrawMode,int DrawMode1);
	void Draw1(CDC* pDC,int sx1,int sy1,int width,int height,int ScreenHeight,int DrawMode,int DrawMode1);
	void GetRect(float *m_Xmin,float *m_Ymin,float *m_Xmax,float *m_Ymax);
	float GetHeight();
	BOOL isOpen();
	int GetGraphNumb(short Lb);
	void DeleteGraph(int Index);	//删除第Index图形元素的对象
	virtual void Serialize(CArchive& ar);
	int GetDatabaseID();			//得到属于的记录集合对象的识别号
};


#endif // !defined(AFX_TAG_H__E45749A2_D981_11D2_AE7B_444553540000__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?