1.hdc=beginpaint(hwnd,&ps);
endpaint(hwnd,&ps);
2.hdc=getdc(hwnd);
releasedc(hwnd,hdc);
這兩種方法的區別是第乙個只能在invalid區域draw,然後將invalid區域valid。第二個能在相應視窗的整個客戶區的任何地方draw.但不會將invalid區變成valid.
3.hdc=getwindowdc(hwnd);
release(hwnd,hdc);
這個裝置上下文是整個視窗,包括標題欄,選單,滾動條,工具欄等。可以在整個視窗的任意地方draw.但要在標題欄等非客戶區draw,要處理乙個wm_ncpaint訊息
4.hdc=createdc(pszdriver, pszdevice, pszoutput, pdata);這個函式更普遍。第乙個引數是指向裝置驅動程式的字串。"display"指向顯示器,通常"winspool"指向印表機。第二個引數指向輸出裝置的名字,顯示器一般用null,印表機指出印表機名字,如「epson fx-80」。第三個引數必須設為null。最後乙個引數指向裝置驅動程式的初始化細節資料,一般使用系統預設,為null。可以這樣使用createdc("display",null,null,null);或得整個顯示器的裝置上下文控制代碼。
如果getdc(null)這樣用的話,得到整個螢幕的裝置上下文,可以在其他程式的視窗上draw了。
獲取裝置上下文
獲取裝置上下文有三種方法 beginpaint getdc getwindowdc。方法一 beginpaint和endpaint函式。beginpaint函式適用在wm paint訊息中。使用這種方法可以自動將無效區域設為有效。預設情況下,呼叫beginpaint函式時會自動將無效區域的背景擦出。...
裝置上下文類
請你多看看這張表,對裝置場景都有哪些屬性,腦子裡應當有個印象。事實上,裝置場景的很多屬性對應於vb中的form picturebox text等窗體或控制項的屬性。比如,字型 背景色 繪圖模式等等。可想而知,很多學vb的朋友儘管並不知道什麼叫裝置場景,但實質上都不知不覺地使用了裝置場景。可以說,裝置...
上下文 上下文棧
全域性 函式 區域性 在執行全域性 前將window確定為全域性執行上下文 對全域性資料進行預處理 var定義的全域性變數 undefined,新增為window的屬性 function宣告的全域性函式 賦值 fun 新增為window的方法 this 賦值 window 開始執行全域性 在呼叫函式...