从 CDC 派生的设备上下文类。
语法
class CPaintDC : public CDC
成员
公共构造函数
| 名称 | 描述 |
|---|---|
CPaintDC::CPaintDC |
构造连接到指定的 CWnd 的 CPaintDC。 |
公共数据成员
| “属性” | 描述 |
|---|---|
CPaintDC::m_ps |
包含用于绘制工作区的 PAINTSTRUCT。 |
受保护的数据成员
| 名称 | 描述 |
|---|---|
CPaintDC::m_hWnd |
附加此 CPaintDC 对象的 HWND。 |
注解
它在构造时执行 CWnd::BeginPaint,在销毁时执行 CWnd::EndPaint。
仅当响应 WM_PAINT 消息(通常在 OnPaint 消息处理程序成员函数)时,才能使用 CPaintDC 对象。
有关使用 CPaintDC 的详细信息,请参阅设备上下文。
继承层次结构
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 的示例。