Share via


Graphics::GetHDC 方法 (gdiplusgraphics.h)

Graphics::GetHDC方法會取得與此Graphics物件相關聯之裝置內容的控制碼。

Syntax

HDC GetHDC();

傳回值

類型: HDC

這個方法會傳回與這個 Graphics 物件相關聯之裝置內容的控制碼。

備註

每次呼叫Graphics 物件的 Graphics::GetHDC方法,都應該與呼叫相同Graphics物件的Graphics::ReleaseHDC方法配對。 請勿在呼叫Graphics::GetHDC 和 Graphics::ReleaseHDC之間呼叫Graphics物件的任何方法。 如果您嘗試在Graphics::GetHDCGraphics::ReleaseHDC之間呼叫Graphics物件的方法,此方法將會失敗,並會傳回 ObjectBusy。

GDI+ 會忽略您對 Graphics::GetHDCGraphics::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

另請參閱

程式設計模型中的變更

FromHDC 方法

圖形

圖形建構函式

Graphics::ReleaseHDC