第四章、简单绘图
来源:互联网 发布:数据定义语言包括 编辑:程序博客网 时间:2024/05/09 15:03
【1】消息映射机制
(1)消息响应函数原型声明
声明规则:此声明位于头文件DECLARE_MESSAGE_MAP()宏之上的注释宏AFX_MSG之间,并且函数声明前加afx_msg限定符
(2)消息响应宏
规则:位于源文件BEGING_MESSAGE_MAP和END_MESSAGE_MAP()之间定义消息响应表和命令响应表
(3)消息响应函数定义
规则:位于源文件中实现消息响应函数定义。
MFC消息映射机制具体的实现方法:在每个可以处理消息的类中定义一个消息和消息函数的静态对照表,即消息映射表。在消息映射表中,消息和消息处理函数指针式成对出现的。类能够处理的所有消息和消息处理函数指针都在这个消息映射表中。当有消息需要处理的时候,就在这个映射表中查找消息并且找出对应的消息处理函数,进行处理。
【2】绘制线条
(1)利用SDK全局函数绘制线条
(2)利用MFC的CDC类实现画图
(3)利用MFC的CCLientDC类实现画线
(4)利用MFC的CWindowDC类
四者在实质性上没有区别,不过CCLientDC类和CWindowDC类会在创建对象的时候自动获取DC在析构的时候releaseDC所以我们不需要显示的调用GetDC和ReleaseDC
(5)在构造DC时候我们可以利用GetParent函数和GetDestTopWindow分别获取父窗口和桌面窗口的DC。
【3】GDI对象
常用的几种:
(1)画笔工具CPen
(2)画刷工具CBrush
(3)位图CBitmap
(4)字体CFont
(5)矩形Crect
(6)圆CRectang
在使用这些对象的一般步骤:
(1)获取DC
(2)构造GDI对象
(3)对象选入DC
(4)操作
(5)选入原始GDI对象,恢复默认对象
(6)释放DC
Example code
“使用库存对象
可以利用FromHandle静态函数和GetStockObject获取库存对象
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH))
这里值得注意的一点就是GetStockObject返回对象类型是HGDIOBJECT
- 第四章、简单绘图
- 第四章,简单绘图
- 第四章-简单绘图
- 《VC++深入详解》第四章 简单绘图
- 孙鑫《vc ++深入详解》第四章简单绘图
- VC++深入详解第四章——简单绘图
- 《VC++深入详解》学习笔记 第四章 简单绘图
- 第四章,简单绘图之MFC中消息分类
- vc学习笔记之简单绘图(第四章)
- 第四章 WINDOWS绘图程序设计
- 简单绘图
- 简单绘图
- 第四章 绘图 windows程序设计 王艳平版
- 孙鑫VC++第4章简单绘图
- 第四章Linux多线程简单Demo
- 简单绘图类
- c# GDI+简单绘图
- 四.简单绘图
- 学C++的50个忠告
- Ant:Path-like Structures和References
- 新人
- Windows SDK编程初探
- JavaScript 获取当前系统日期和时间
- 第四章、简单绘图
- 一个深刻的教训——VS打开项目后自动关闭
- 【初学者】写的一个泛型接口类,主要对数据的增加,删除,修改,查询
- 程序的流程控制
- ToBase64String方法的学习
- 打个五折先 - [在路上]
- 西班牙理论与工作狂
- mmc管理控制台是做什么的!?
- 微软Win 7定价“太疯狂”