CWnd::GetDCEx
CWnd ウィンドウのデバイス コンテキストのハンドルを取得します。
CDC* GetDCEx(
CRgn* prgnClip,
DWORD flags
);
パラメーター
prgnClip
クライアント ウィンドウの可視領域に結び付けられているクリップ領域を識別します。flags
次のいずれかの値を指定できます。DCX_CACHE OWNDC や CLASSDC ウィンドウではなく、キャッシュからデバイス コンテキストを返します。 CS_OWNDC および CS_CLASSDC をオーバーライドします。
DCX_CLIPCHILDREN CWnd ウィンドウの下にあるすべての子ウィンドウの可視領域を除外します。
DCX_CLIPSIBLINGS CWnd ウィンドウの上にあるすべての兄弟ウィンドウの可視領域を除外します。
DCX_EXCLUDERGN 返されるデバイス コンテキストの可視領域から、パラメーター prgnClip で識別されるクリップ領域を除外します。
DCX_INTERSECTRGN 返されるデバイス コンテキストの可視領域へ、パラメーター prgnClip で識別されるクリップ領域を組み込みます。
DCX_LOCKWINDOWUPDATE LockWindowUpdate 関数を使ってこのウィンドウがほかからのアクセスを排他していても、描画できるようにします。 この値はトラッキングの間の描画に使います。
DCX_PARENTCLIP 親ウィンドウの WS_CLIPCHILDREN スタイル ビットおよび WS_PARENTDC スタイル ビットを無視して親ウィンドウの可視領域を使います。 この値は、デバイス コンテキストの原点を CWnd ウィンドウの左上隅に設定します。
DCX_WINDOW クライアント四角形ではなく、ウィンドウ四角形に相当するデバイス コンテキストを返します。
戻り値
正常終了した場合は、特定のウィンドウのデバイス コンテキストを返します。それ以外の場合は NULL を返します。
解説
このデバイス コンテキストは、その後の GDI 関数でクライアント領域に描画するために使います。
この関数は、GetDC 関数を拡張したもので、ウィンドウのデバイス コンテキストがクリップされているかどうか、およびどのようにクリップされているかについて、アプリケーションのコントロール機能を拡張します。
デバイス コンテキストがウィンドウ クラスに属していない場合は、描画後に ReleaseDC 関数を呼び出してコンテキストを解放する必要があります。 同時に利用できる共通デバイス コンテキストは最大 5 つしかないので、デバイス コンテキストを解放に失敗すると、ほかのアプリケーションからデバイス コンテキストにアクセスできなくなることがあります。
キャッシュ デバイス コンテキストを取得するには、アプリケーションで DCX_CACHE が指定される必要があります。 DCX_CACHE が指定されず、ウィンドウが CS_OWNDC でも CS_CLASSDC でもない場合、この関数は NULL を返します。
クラスが登録されたときに、WNDCLASS 構造体に CS_CLASSDC、CS_OWNDC、または CS_PARENTDC のいずれかのスタイルが指定されている場合、GetDCEx 関数は特殊属性を持つデバイス コンテキストを返します。
これらの特性の詳細については、Windows SDK の WNDCLASS 構造体の説明を参照してください。
必要条件
**ヘッダー:**afxwin.h