CPaintDC

CDC 派生的设备上下文类。

语法

class CPaintDC : public CDC

成员

公共构造函数

名称 描述
CPaintDC::CPaintDC 构造连接到指定的 CWndCPaintDC

公共数据成员

“属性” 描述
CPaintDC::m_ps 包含用于绘制工作区的 PAINTSTRUCT

受保护的数据成员

名称 描述
CPaintDC::m_hWnd 附加此 CPaintDC 对象的 HWND

注解

它在构造时执行 CWnd::BeginPaint,在销毁时执行 CWnd::EndPaint

仅当响应 WM_PAINT 消息(通常在 OnPaint 消息处理程序成员函数)时,才能使用 CPaintDC 对象。

有关使用 CPaintDC 的详细信息,请参阅设备上下文

继承层次结构

CObject

CDC

CPaintDC

要求

标头afxwin.h

CPaintDC::CPaintDC

构造对象 CPaintDC,准备用于绘制的应用程序窗口,并将 PAINTSTRUCT 结构存储在 m_ps 成员变量中。

explicit CPaintDC(CWnd* pWnd);

参数

pWnd
指向 CPaintDC 对象所属的 CWnd 对象。

备注

如果 Windows GetDC 调用失败,则会引发(类型为 CResourceException)的异常。 如果 Windows 已分配其所有可用的设备上下文,则设备上下文可能不可用。 应用程序将争夺 Windows 下给定时间内可用的五种常见显示上下文。

示例

// Get a dc for a CWnd pointer.
CPaintDC dc(pWnd);

// Get a dc for a HWND.
CPaintDC dc2(CWnd::FromHandle(hWnd));

CPaintDC::m_hWnd

附加此 CPaintDC 对象的 HWND

HWND m_hWnd;

注解

m_hWnd 是类型 HWND 的受保护变量。

示例

// Get a dc for a CWnd object pointer.
CPaintDC dc(pWnd);

// Send my private message.
::SendMessage(pWnd->m_hWnd, WM_MYMESSAGE, (LPARAM)& dc.m_ps, 0);

CPaintDC::m_ps

m_ps 是类型 PAINTSTRUCT 的公共成员变量。

PAINTSTRUCT m_ps;

备注

传递给 CWnd::BeginPaint 并由其填充的是 PAINTSTRUCT

PAINTSTRUCT 包含应用程序用来绘制与 CPaintDC 对象关联的窗口的工作区的信息。

请注意,可以通过 PAINTSTRUCT 访问设备上下文句柄。 但是,可以通过 m_hDC 成员变量(其中 CPaintDC 继承自 CDC)更直接地访问句柄。

示例

请参阅 CPaintDC::m_hWnd 的示例。

另请参阅

MFC 示例 MDI
CDC
层次结构图