⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graphrecord.h

📁 很不错的简单的矢量图形开发软件
💻 H
字号:
//GraphRecord.h
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define NONE		0
#define LINE		1
#define RECTANGLE	2
#define TRIANGLE	3
#define ELLIPSE		4
#define FILL		5
#define SELECT		6
#define TEXT        7
#define UNDO        8
#define REDO        9
#define MOVE		10
#define COPY		11
#define CUT			12
#define PASTE		13

#define SOLIDBRUSH	0x100

struct PENTYPE
{
	int iWidth;
	int iStyle;
	COLORREF Color;
};

struct BRUSHTYPE
{
	int iStyle;
	COLORREF Color;
};


struct LINENODE
{
	BYTE bType;// 绘图单元的类型
// 该记录的状态:bDo>0 显示;bD0<=0 不显示
//	-3-粘贴,-6-剪切,0-不显示,1-显示,2-被选择,3-粘贴,5-移动,6-剪切,7-移动被恢复
	int bDo;
	int Index;//图元索引
	PENTYPE pen;//绘制直线所用的画笔类型
	POINT Start;//直线的起点
	POINT End;//直线的终点
	LINENODE()//直线图元的初始化函数
	{
		bType=LINE;
		bDo=1;
	};
};

//	矩形
struct RECTANGLENODE
{
	BYTE bType;//图元类型
// 该记录的状态:bDo>0 显示;bD0<=0 不显示
//	-3-粘贴,-6-剪切,0-不显示,1-显示,2-被选择,3-粘贴,5-移动,6-剪切,7-移动被恢复
	int bDo;
	int Index;//图元索引
	RECT rT;//矩形数据
	PENTYPE pen;//绘制矩形所用的画笔类型
	RECTANGLENODE()//矩形图元的初始化函数
	{
		bType=RECTANGLE;
		bDo=TRUE;
	};

};

// 椭圆
struct ELLIPSENODE
{
	BYTE bType;//图元类型
// 该记录的状态:bDo>0 显示;bD0<=0 不显示
//	-3-粘贴,-6-剪切,0-不显示,1-显示,2-被选择,3-粘贴,5-移动,6-剪切,7-移动被恢复
	int bDo;
	int Index;//图元索引
	RECT rT;//椭圆外接矩形
	PENTYPE pen;//绘制椭圆所用的画笔
	ELLIPSENODE()//椭圆图元的初始化函数
	{
		bType=ELLIPSE;
		bDo=TRUE;
	};

};

// 三角形
struct TRIANGLENODE
{
	BYTE bType;//图元类型
// 该记录的状态:bDo>0 显示;bD0<=0 不显示
//	-3-粘贴,-6-剪切,0-不显示,1-显示,2-被选择,3-粘贴,5-移动,6-剪切,7-移动被恢复
	int bDo;
	int Index;//图元索引
    RECT rT;//三角形外接矩形
	PENTYPE pen;//绘制三角形的画笔类型
	TRIANGLENODE()//三角形图元记录的初始化函数
	{
		bType=TRIANGLE;
		bDo=TRUE;
	};

};

// 填充
struct FILLNODE
{
	BYTE bType;//图元类型
// 该记录的状态:bDo>0 显示;bD0<=0 不显示
//	-3-粘贴,-6-剪切,0-不显示,1-显示,2-被选择,3-粘贴,5-移动,6-剪切,7-移动被恢复
	BOOL bDo;
	POINT Seed;//填充的种子点
	COLORREF BoundColor;//填充覆盖的颜色范围
	BRUSHTYPE brush;//填充所用画笔
	FILLNODE()//填充图元的初始化函数
	{
		bType=FILL;
		bDo=TRUE;	
	};
};

//粘贴
struct PASTENODE
{
	BYTE bType;//记录类型
	BOOL bDo;//粘贴操作是否应显示
	int iCompNum;//粘贴集中的图元数目
	int Index[10];//粘贴集中图元索引数组
	PASTENODE()//粘贴记录的初始化函数
	{
		bType=PASTE;
		bDo=TRUE;	
	};
};

//剪切
struct CUTNODE
{
	BYTE bType;//记录类型
	BOOL bDo;//剪切操作是否应显示
	int iCompNum;//剪切集中的图元数目
	int Index[10];//剪切集中图元索引数组
	CUTNODE()//剪切记录的初始化函数
	{
		bType=CUT;
		bDo=TRUE;	
	};
};

//移动
struct MOVENODE
{
	BYTE bType;//记录类型
	BOOL bDo;//移动操作是否应显示
	int iCompNum;//移动集中的图元数
	int Index[10];//移动集中图元索引数组
	int x_off;//x坐标移动的距离
	int y_off;//y坐标移动的距离
	MOVENODE()//移动记录的初始化函数
	{
		bType=MOVE;
		bDo=TRUE;	
	};
};

//文本记录
struct TEXTNODE
{
	BYTE bType;//记录类型
// 该记录的状态:bDo>0 显示;bD0<=0 不显示
//	-3-粘贴,-6-剪切,0-不显示,1-显示,2-被选择,3-粘贴,5-移动,6-剪切,7-移动被恢复
	int bDo;
	int Index;//索引
	POINT point;//文本的左上点
	CString str;//文本的内容
	COLORREF color;//文本的颜色
	TEXTNODE()//文本图元的初始化函数
	{
		bType=TEXT;
		bDo=1;
	};
};


⌨️ 快捷键说明

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