GetDC

指定されたウィンドウのクライアント領域またはスクリーン全体に対応するディスプレイデバイスコンテキストのハンドルを取得します。

HDC GetDC(
    HWND hWnd     // window handle
);

USER32.DLL

引数

hWnd

デバイスコンテキストを取得するウィンドウのハンドルを指定します。0 (NULL) を指定すると、スクリーン全体のデバイスコンテキストを取得します。

Windows 98/Me/2000/XP: このパラメータに0 (NULL) を指定すると、プライマリディスプレイモニタのデバイスコンテキストを取得します。他のディスプレイモニタのデバイスコンテキストを取得するには、EnumDisplayMonitors関数およびCreateDC関数を使います。

戻り値

成功するとデバイスコンテキストのハンドルが返ります。

失敗すると0 (NULL) が返ります。

Windows NT/2000/XP: 拡張エラー情報を取得するには、GetLastError関数を使います。

解説

この関数は、コモンデバイスコンテキストまたはクラスデバイスコンテキストまたはプライベートデバイスコンテキストのハンドルを取得します。どのタイプのデバイスコンテキストが取得されるかは、指定されたウィンドウのクラススタイルに依存します。クラスデバイスコンテキストおよびプライベートデバイスコンテキストでは、以前に割り当てられたデバイスコンテキストの属性が保持されます。一方、コモンデバイスコンテキストでは、以前に割り当てられた属性はハンドル取得のたびにデフォルトに戻されます。このため、ウィンドウ描画時にどのフォントや色やブラシが使用されているのかを、GetDC関数によって返されるコモンデバイスコンテキストのハンドルから知ることはできません。

コモンデバイスコンテキストによる描画が終了したら、ReleaseDC関数を呼び出してデバイスコンテキストを解放しなければなりません。クラスデバイスコンテキストおよびプライベートデバイスコンテキストについては解放する必要はありません。ReleaseDC関数は、GetDC関数を呼び出したスレッドによって呼び出されなくてはいけません。

対応情報

Windows 95 以降 / Windows NT 3.1 以降