📄 graphrecord.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 + -