MFC里 显示设备上下文CClient dc(this) 和 CPaintDC dc(this)
2015-04-21 22:56
288 查看
1 CPaintDC类
(1)CPaintDC类是CDC类的一个派生类,该类一般用在响应WM_PAINT消息的函数OnPaint()中。
(2)WM_PAINT消息是当窗口的某个区域需要重画时激发的窗口消息。当程序中的消息循环接到WM_PAINT消息时就自动调用消息处理函数OnPaint(),如果在OnPaint函数内定义了CPaintDC类的对象,通过这个类对象就可以使用CDC类的成员函数完成视图客户区中的图形绘制操作。 (3)CPaintDC用于响应窗口重绘消息(WM_PAINT)时的绘图输出。CPaintDC在构造函数中调用BeginPaint()取得设备上下文,在析构函数中调用EndPaint()释放设备上下文。EndPaint()除了释放设备上下文外,还负责从消息队列中清除WM_PAINT消息。因此,在处理窗口重画时,必须使用CPaintDC,否则WM_PAINT消息无法从消息队列中清除,将引起不断的窗口重画。CPaintDC也只能用在WM_PAINT消息处理之中。
2 CClientDC类
CClientDC类也是CDC类的派生类。它只能在窗口的客户区(即窗口中除了边框、标题栏、菜单栏以及状态栏外的中间部分)中进行绘图,坐标点(0,0)通常指的是客户区的左上角。它的构造函数调用GegDC函数,而析构函数调用ReleaseDC函数。CClientDC(客户区设备上下文)用于客户区的输出,它在构造函数中封装了GetDC(),在析构函数中封装了ReleaseDC()函数。一般在响应非窗口重画消息(如键盘输入时绘制文本、鼠标绘图)绘图时要用到它。用法是:CClientDC dc(this);//this一般指向本窗口或当前活动视图dc.TextOut(10,10,str,str.GetLength());//利用dc输出文本,如果是在CScrollView中使用,还要注意调用OnPrepareDC(&dc)调整设备上下文的坐标。
(1)CPaintDC类是CDC类的一个派生类,该类一般用在响应WM_PAINT消息的函数OnPaint()中。
(2)WM_PAINT消息是当窗口的某个区域需要重画时激发的窗口消息。当程序中的消息循环接到WM_PAINT消息时就自动调用消息处理函数OnPaint(),如果在OnPaint函数内定义了CPaintDC类的对象,通过这个类对象就可以使用CDC类的成员函数完成视图客户区中的图形绘制操作。 (3)CPaintDC用于响应窗口重绘消息(WM_PAINT)时的绘图输出。CPaintDC在构造函数中调用BeginPaint()取得设备上下文,在析构函数中调用EndPaint()释放设备上下文。EndPaint()除了释放设备上下文外,还负责从消息队列中清除WM_PAINT消息。因此,在处理窗口重画时,必须使用CPaintDC,否则WM_PAINT消息无法从消息队列中清除,将引起不断的窗口重画。CPaintDC也只能用在WM_PAINT消息处理之中。
2 CClientDC类
CClientDC类也是CDC类的派生类。它只能在窗口的客户区(即窗口中除了边框、标题栏、菜单栏以及状态栏外的中间部分)中进行绘图,坐标点(0,0)通常指的是客户区的左上角。它的构造函数调用GegDC函数,而析构函数调用ReleaseDC函数。CClientDC(客户区设备上下文)用于客户区的输出,它在构造函数中封装了GetDC(),在析构函数中封装了ReleaseDC()函数。一般在响应非窗口重画消息(如键盘输入时绘制文本、鼠标绘图)绘图时要用到它。用法是:CClientDC dc(this);//this一般指向本窗口或当前活动视图dc.TextOut(10,10,str,str.GetLength());//利用dc输出文本,如果是在CScrollView中使用,还要注意调用OnPrepareDC(&dc)调整设备上下文的坐标。
相关文章推荐
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)
- 【转】MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)
- MFC中的DC、CDC、HDC、句柄、设备上下文的不同意思,适合初学者参考
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理) .
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)
- MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文 [转]
- DC?设备上下文?怎么翻译的。。。终于弄懂了。
- MFC中对话框控件的句柄和设备上下文的问题
- 对Windows程序中设备上下文DC(device context)的理解
- MFC的CDC类、设备上下文、设备环境
- 设备上下文(DC)与内存设备上下文中的位图与画刷属性的一些零碎
- MFC之设备描述表DC、画笔Pen、画刷Brush
- CPaintDC dc(this)中的this指针的含义解析
- 【MFC学习】显示DC不释放导致出现异常
- DC设备上下文的举例描述
- CPaintDC dc(this)中的this指针的含义解析
- 基本概念学习---设备上下文HDC(MFC中设备上下文句柄)