GetDC 関数 (winuser.h)
GetDC 関数は、指定されたウィンドウのクライアント領域または画面全体のデバイス コンテキスト (DC) へのハンドルを取得します。 後続の GDI 関数で返されたハンドルを使用して、DC に描画できます。 デバイス コンテキストは不透明なデータ構造であり、その値は GDI によって内部的に使用されます。
GetDCEx 関数は GetDC の拡張機能です。これにより、アプリケーションはクライアント領域でクリッピングが発生する方法と発生するかどうかをより詳細に制御できます。
構文
HDC GetDC(
[in] HWND hWnd
);
パラメーター
[in] hWnd
DC を取得するウィンドウへのハンドル。 この値が NULL の場合、 GetDC は画面全体の DC を取得します。
戻り値
関数が成功した場合、戻り値は、指定されたウィンドウのクライアント領域の DC へのハンドルです。
関数が失敗した場合は、返される値は NULL です。
注釈
GetDC 関数は、指定されたウィンドウのクラス スタイルに応じて、共通、クラス、またはプライベート DC を取得します。 クラス DC とプライベート DC の場合、 GetDC では、以前に割り当てられた属性は変更されません。 ただし、一般的な DC の 場合、GetDC は、取得されるたびに既定の属性を DC に割り当てます。 たとえば、既定のフォントは System で、ビットマップ フォントです。 このため、 GetDC によって返される一般的な DC へのハンドルでは、ウィンドウの描画時に使用されたフォント、色、またはブラシは示されません。 フォントを確認するには、 GetTextFace を呼び出します。
DC へのハンドルは、一度に 1 つのスレッドでのみ使用できることに注意してください。
共通 DC を使用して描画した後、 ReleaseDC 関数を呼び出して DC を解放する必要があります。 クラス DC とプライベート DC を解放する必要はありません。 ReleaseDC は 、GetDC を呼び出したのと同じスレッドから呼び出す必要があります。 DC の数は、使用可能なメモリによってのみ制限されます。
例
例については、「 マウスによる描画」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |