Graphics::GetHDC メソッド (gdiplusgraphics.h)
Graphics::GetHDC メソッドは、この Graphics オブジェクトに関連付けられているデバイス コンテキストへのハンドルを取得します。
構文
HDC GetHDC();
戻り値
種類: HDC
このメソッドは、この Graphics オブジェクトに関連付けられているデバイス コンテキストへのハンドルを返します。
解説
Graphics オブジェクトの Graphics::GetHDC メソッドの各呼び出しは、同じGraphics オブジェクトの Graphics::ReleaseHDC メソッドの呼び出しとペアにする必要があります。 Graphics::GetHDC と Graphics::ReleaseHDC の呼び出しの間に Graphics オブジェクトのメソッドを呼び出さないでください。 Graphics::GetHDC と Graphics::ReleaseHDC の間で Graphics オブジェクトのメソッドを呼び出そうとすると、メソッドは失敗し、ObjectBusy を返します。
Graphics::GetHDC と Graphics::ReleaseHDC の間でデバイス コンテキストに加えた状態の変更は GDI+ によって無視され、GDI+ によるレンダリングには反映されません。
例
次の関数では、GDI+ を使用して楕円を描画し、GDI を使用して四角形を描画し、最後に GDI+ を使用して線を描画します。 関数の 1 つのパラメーターは、GDI+ Graphics オブジェクトへのポインターです。 このコードは、その Graphics オブジェクトの Graphics::D rawEllipse メソッドを呼び出して、楕円を描画します。 次に、Graphics ::GetHDC メソッドを呼び出して 、Graphics オブジェクトに関連付けられているデバイス コンテキストへのハンドルを取得します。 このコードでは、デバイス コンテキスト ハンドルを GDI Rectangle 関数に渡して 四角形 を描画します。 このコードでは、Graphics オブジェクトの Graphics::ReleaseHDC メソッドを呼び出し、Graphics オブジェクトを使用して線を描画します。
VOID Example_GetReleaseHDC(Graphics* g)
{
Pen pen(Color(255, 0, 0, 255));
g->DrawEllipse(&pen, 10, 10, 100, 50); // GDI+
HDC hdc = g->GetHDC();
// Make GDI calls, but don't call any methods
// on g until after the call to ReleaseHDC.
Rectangle(hdc, 120, 10, 220, 60); // GDI
g->ReleaseHDC(hdc);
// Ok to call methods on g again.
g->DrawLine(&pen, 240, 10, 340, 60);
}
要件
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | gdiplusgraphics.h (Gdiplus.h を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |