GDI(图形设备界面)
位置:Windows操作系统中.
作用:提供大量用于图形输出的函数。
绘图函数分为三类:文字输出;矢量图形函数,用于画线、圆等图形;光栅图形,用于绘制位图。
四种可以识别的设备:屏幕,打印机(前两种为物理设备),位图和图元文件(后两种为伪设备)。
DC(设备上下文)
一种重要的数据结构,存储某种设备的绘图属性。
CDC
DC对象,提供了多种成员函数来操作DC。
MFC提供了四类CDC的派生类:
CpaintDC:构造函数自动调用BeginPaing(),析造函数自动调用EndPaint()函数。不过该对象只用于对WM_PAINT消息进行响应。当使用应用程序框架时,视力类的OnDraw()函数即被传入一个准备好的CpaintDC对象,可以通过它方便面地进行图形绘制。
CclientDC:窗口客户区域的设备 上下文,一般用来实时映射鼠标事件, 比如绘制等。
CwindowDC:整个应用程序窗口的设备上下文,既包括客户区域,又包括非客户区域。
CmetaFileDC:Windows图元文件的设备上下文。
非用户区域和窗口背景的刷新系统可以向窗口发送WM_NCPAINT消息与WM_ERASEBKGND消息。
触发WM_PAINT消息
1. 窗口改变后的刷新
有以下几种情况:用户区域移动或显示、用户窗口大小改变或程序通过流动条流动窗口。
2. 被覆盖区域的刷新
一般是由于下拉式菜单关闭或是Windows清除对话框、消息框等对象。有时系统刷新会失效,这里要注意。
3. 对象穿越后的刷新
一般是光标穿过用户区域或是图标拖过用户区,系统会完成刷新任务,应用程序不用考虑。