|
14.8 本章主要内容
本章主要内容如表14-9所示。
表 14-9
|
主 题
|
概 念
|
|
客户端坐标系统
|
默认情况下,Windows使用原点在工作区左上角的客
户端坐标系统处理窗口的工作区。x轴的正方向从左到右,
y轴的正方向从上到下
|
|
在工作区中绘图
|
只能使用设备上下文在窗口的工作区中绘图
|
|
设备上下文
|
为了处理窗口的工作区,设备上下文提供了大量称为
映射模式的逻辑坐标系统
|
|
映射模式
|
映射模式的默认原点位置在工作区的左上角。默认的映
射模式是MM_TEXT,它提供以像素为单位的坐标。在这
种模式中,x轴的正方向从左到右,y轴的正方向从上到下
|
|
在窗口中绘图
|
尽管平常可以绘制临时实体,但是在响应WM_PAINT消
息时,程序始终应当在窗口的工作区中绘制永久性内容。
对应用程序文档的所有绘制都应当在视图类的OnDraw()成
员函数中进行控制。在应用程序接收到WM_PAINT消息时,
将调用这个函数
|
|
重新绘制窗口
|
调用视图类的InvalidateRect()函数成员,可以标识希望重新绘
制的那部分工作区。当下一个WM_PAINT消息发送到应用程
序时,Windows将把作为参数传递的这个区域添加到
要重新绘制的整个区域
|
|
鼠标消息
|
Windows向应用程序发送有关鼠标事件的标准消息。利用
Class Wizard可以创建处理这些消息的处理程序
|
|
捕获鼠标消息
|
通过在视图类中调用继承的SetCapture()函数,可以将所有鼠标
消息发送到应用程序。在完成这一操作时,必须通过调用
ReleaseCapture()函数释放鼠标键。否则,其他应用程序将不能接收鼠标消息
|
|
橡皮筋操作
|
在创建几何实体时,通过在处理鼠标移动的消息处理程序中绘
制它们,可以实现橡皮筋操作
|
|
选择绘图模式
|
利用CDC类的SetROP2()成员可以设置绘图模式。选择正
确的绘图模式将大大简化橡皮筋操作
|
|
添加事件处理程序
|
通过GUI组件的Properties窗口也可以自动添加事件处理程序函数
|
|
转换智能指针的类型
|
使用static_pointer_cast、dynamic_pointer_cast和const_pointer_cast.
可以把一种智能指针转换为另一种智能指针类型
|
|