COleControl::GetDC

CDC* GetDC( LPCRECT lprcRect = NULL, DWORD dwFlags = OLEDC_PAINTBKGND );

返回值:
如果成功,则返回包容器CWnd客户区的显示设备上下文指针;否则返回值为NULL。显示设备上下文能在GDI函数中用于绘制包容器窗口的客户区。

参数:
lprcRect要重画的无窗口控件在其客户区坐标体系下的矩形指针。如果为NULL,表示整个对象区域都要重画。
dwFlags设备上下文的绘制特性,有以下选择:
·OLEDC_NODRAW表示对象不使用设备上下文执行绘制操作,而是仅仅存取显示设备的信息。包容器仅简单地将窗口的DC传给它,而不进行别的处理。
·OLEDC_PAINTBKGND要求在返回DC前包容器重画背景。对象在要求DC绘制一个透明背景的区域时,要使用该标志。
·OLEDC_OFFSCREEN通知包容器,对象将显示一个拷贝到屏幕的离屏位图。当对象将要显示一个产生许多闪烁的绘制操作时,需要使用该标志。包容器可以不响应这类请求。但是,如果该标志不设置,包容器必须返回一个屏幕DC。这使得对象能执行直接的屏幕操作(通过一次XOR操作)。

说明:
调用该函数,为一个无窗口对象提供从它的包容器中获取一个屏幕(或兼容)设备上下文的途径。在完成绘制后必须调用ReleaseDC成员函数。当调用GetDC时,对象传送要绘制的矩形区域(相对于自己的客户区坐标)。GetDC将它们转换成包容器客户区的坐标。对象不能要求绘制比自己的客户区还大的矩形区域。对象的客户区尺寸可由GetClientRect获取。这可以避免对象进行胡乱绘制。

请参阅:COleControl::ReleaseDC