GDI与CDC

来源:互联网 发布:关于网络利弊英语 编辑:程序博客网 时间:2024/05/29 03:35

GDI(图形设备界面)

位置:Windows操作系统中.

作用:提供大量用于图形输出的函数。

绘图函数分为三类:文字输出;矢量图形函数,用于画线、圆等图形;光栅图形,用于绘制位图。

四种可以识别的设备:屏幕,打印机(前两种为物理设备),位图和图元文件(后两种为伪设备)。

DC(设备上下文)

一种重要的数据结构,存储某种设备的绘图属性。

CDC

DC对象,提供了多种成员函数来操作DC

MFC提供了四类CDC的派生类:

CpaintDC:构造函数自动调用BeginPaing(),析造函数自动调用EndPaint()函数。不过该对象只用于对WM_PAINT消息进行响应。当使用应用程序框架时,视力类的OnDraw()函数即被传入一个准备好的CpaintDC对象,可以通过它方便面地进行图形绘制。

CclientDC:窗口客户区域的设备 上下文,一般用来实时映射鼠标事件 比如绘制等。

CwindowDC整个应用程序窗口的设备上下文,既包括客户区域,又包括非客户区域。

CmetaFileDCWindows图元文件的设备上下文。

 

非用户区域和窗口背景的刷新系统可以向窗口发送WM_NCPAINT消息与WM_ERASEBKGND消息。

 

触发WM_PAINT消息

1.  窗口改变后的刷新

有以下几种情况:用户区域移动或显示、用户窗口大小改变或程序通过流动条流动窗口。

2.  被覆盖区域的刷新

一般是由于下拉式菜单关闭或是Windows清除对话框、消息框等对象。有时系统刷新会失效,这里要注意。

3.  对象穿越后的刷新

一般是光标穿过用户区域或是图标拖过用户区,系统会完成刷新任务,应用程序不用考虑。