次の方法で共有


CPaintDC クラス

CDCから派生したデバイス コンテキスト クラス。

構文

class CPaintDC : public CDC

メンバー

パブリック コンストラクター

名前 説明
CPaintDC::CPaintDC 指定したCWndに接続されたCPaintDCを構築します。

パブリック データ メンバー

名前 説明
CPaintDC::m_ps クライアント領域の描画に使用する PAINTSTRUCT を格納します。

プロテクト データ メンバー

名前 説明
CPaintDC::m_hWnd このCPaintDC オブジェクトがアタッチされているHWND

解説

構築時に CWnd::BeginPaint を実行し、破棄時に CWnd::EndPaint します。

CPaintDC オブジェクトは、通常、OnPaint メッセージ ハンドラーメンバー関数で、WM_PAINT メッセージに応答する場合にのみ使用できます。

CPaintDCの使用方法の詳細については、「Device Contexts」を参照してください。

継承階層

CObject

CDC

CPaintDC

要件

ヘッダー: afxwin.h

CPaintDC::CPaintDC

CPaintDC オブジェクトを構築し、描画用のアプリケーション ウィンドウを準備し、m_ps メンバー変数にPAINTSTRUCT構造体を格納します。

explicit CPaintDC(CWnd* pWnd);

パラメーター

pWnd
CPaintDC オブジェクトが属するCWnd オブジェクトを指します。

解説

Windows GetDC 呼び出しが失敗した場合、(CResourceException 型の) 例外がスローされます。 Windows で使用可能なすべてのデバイス コンテキストが既に割り当てられている場合、デバイス コンテキストを使用できない場合があります。 アプリケーションは、Windows で任意の時点で使用可能な 5 つの一般的な表示コンテキストを競合します。

// 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を介してデバイス コンテキスト ハンドルにアクセスできることに注意してください。 ただし、CDC から継承CPaintDCm_hDCメンバー変数を使用して、ハンドルに直接アクセスできます。

CPaintDC::m_hWnd の例を参照してください。

関連項目

MFC サンプル MDI
CDC クラス
階層図