獲取裝置上下文

2021-06-19 13:12:53 字數 526 閱讀 9247

獲取裝置上下文有三種方法:beginpaint、getdc、getwindowdc。

方法一:beginpaint和endpaint函式。beginpaint函式適用在wm_paint訊息中。使用這種方法可以自動將無效區域設為有效。預設情況下,呼叫beginpaint函式時會自動將無效區域的背景擦出。但是要注意的時,我們呼叫invalidaterect函式時,最後乙個引數可以設定是否將無效區域的背景擦出,如果該引數設為ture,那麼將擦出,為false,不擦出該背景。背景的擦出會用到我們在定義wndclass結構體時使用的畫刷。

方法二:getdc和releasedc函式。getdc函式用於獲取顯示區域的裝置控制代碼。這種方法獲取的控制代碼可以在整個顯示區域進行操作,而不像beginpaint函式只能在無效區域操作。用getdc獲取的控制代碼時,如果存在無效區域,不會自動將無效區域設為有效,我們可以通過呼叫函式validaterect函式來將無效區域設為有效。

方法三:getwindowdc和releasedc函式。getwindowdc函式獲取整個視窗的裝置上下文控制代碼。其他操作與方法二相同。

獲取裝置上下文控制代碼

1.hdc beginpaint hwnd,ps endpaint hwnd,ps 2.hdc getdc hwnd releasedc hwnd,hdc 這兩種方法的區別是第乙個只能在invalid區域draw,然後將invalid區域valid。第二個能在相應視窗的整個客戶區的任何地方draw....

裝置上下文類

請你多看看這張表,對裝置場景都有哪些屬性,腦子裡應當有個印象。事實上,裝置場景的很多屬性對應於vb中的form picturebox text等窗體或控制項的屬性。比如,字型 背景色 繪圖模式等等。可想而知,很多學vb的朋友儘管並不知道什麼叫裝置場景,但實質上都不知不覺地使用了裝置場景。可以說,裝置...

上下文 上下文棧

全域性 函式 區域性 在執行全域性 前將window確定為全域性執行上下文 對全域性資料進行預處理 var定義的全域性變數 undefined,新增為window的屬性 function宣告的全域性函式 賦值 fun 新增為window的方法 this 賦值 window 開始執行全域性 在呼叫函式...