Graphics::GetHDC 方法 (gdiplusgraphics.h)
Graphics::GetHDC方法會取得與此Graphics物件相關聯之裝置內容的控制碼。
Syntax
HDC GetHDC();
傳回值
類型: HDC
這個方法會傳回與這個 Graphics 物件相關聯之裝置內容的控制碼。
備註
每次呼叫Graphics 物件的 Graphics::GetHDC方法,都應該與呼叫相同Graphics物件的Graphics::ReleaseHDC方法配對。 請勿在呼叫Graphics::GetHDC 和 Graphics::ReleaseHDC之間呼叫Graphics物件的任何方法。 如果您嘗試在Graphics::GetHDC和Graphics::ReleaseHDC之間呼叫Graphics物件的方法,此方法將會失敗,並會傳回 ObjectBusy。
GDI+ 會忽略您對 Graphics::GetHDC 和 Graphics::ReleaseHDC 之間的裝置內容所做的任何狀態變更,而且不會反映在 GDI+ 完成的轉譯中。
範例
下列函式使用 GDI+ 繪製橢圓形,然後使用 GDI 繪製矩形,最後使用 GDI+ 繪製線條。 函式的一個參數是 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) |
程式庫 | Gdiplus.lib |
Dll | Gdiplus.dll |