關於GetDC與GetWindowDC

程式碼運輸員發表於2013-09-03

GetDc函式:用於獲得hWnd引數所指定視窗的客戶區域的一個裝置環境。

所獲得的裝置環境可以是通用、類或者私有型別,具體由指定視窗的類風格決定。對於通用裝置環境,GetDc函式每次獲取一個裝置環境時都會用預設屬性對它進行初始化。該函式獲得的類和私有裝置環境會與它們最後一次的設定保持一致。當裝置環境不再需要時,應該呼叫ReleaseDC函式將其釋放。  
   
GetWindowDC函式:返回hWnd引數所指定的視窗的裝置環境。

獲得的裝置環境覆蓋了整個視窗(包括非客戶區),例如標題欄、選單、滾動條,以及邊框。這使得程式能夠在非客戶區域實現自定義圖形,例如自定義標題或者邊框。當不再需要該裝置環境時,需要呼叫ReleaseDC函式釋放裝置環境。注意,該函式只獲得通用裝置環境,該裝置環境的任何屬性改變都不會反映到視窗的私有或者類裝置環境中(如果視窗有的話)

ReleaseDC函式
函式功能:函式釋放裝置上下文環境(DC)供其他應用程式使用。函式的效果與裝置上下文環境型別有關。它只釋放公用的和裝置上下文環境,對於類或私有的則無數。
函式原型:int ReleaseDC(HWND hWnd, HDC hdc);
引數:
hWnd:指向要釋放的裝置上下文環境所在的視窗的控制程式碼。
hDC:指向要釋放的裝置上下文環境的控制程式碼。
返回值:返回值說明了裝置上下文環境是否釋放;如果釋放成功,則返回值為1;如果沒有釋放成功,則返回值為0。
註釋:每次呼叫GetWindowDC和GetDC函式檢索公用裝置上下文環境之後,應用程式必須呼叫ReleaseDC函式來釋放裝置上下文環境。
應用程式不能呼叫ReleaseDC函式來釋放由CreateDC函式建立的裝置上下文環境,只能使用DeleteDC函式。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;標頭檔案:winuser.h;庫檔案:user32.lib。

相關文章