GDI物件選入多個裝置環境導致顯示出錯的問題

2022-07-29 06:06:10 字數 397 閱讀 9869

最近才開始寫圖形化的程式。

不禁感慨道雖然也有很多不足,windows作為乙個作業系統是多麼的強大!當然,這也導致寫程式很麻煩,尤其是關係到unicode編碼的時候。

今天遇到的問題是關於gdi物件的,**如下:

1

void

cls_onpaint(hwnd hdlg)

2

可以看到最初我並沒有將記憶體裝置環境刪除,也沒有將位圖與記憶體裝置環境的聯絡斷開。

經過對比,首先想到的是記憶體裝置環境沒有刪除,這導致gdi物件的洩漏,因為每次會新建乙個。

經測試後發現,將位圖與記憶體裝置環境斷開後(即重新選入舊的點陣圖),即使記憶體裝置環境洩漏也可以正確顯示。因此主要的問題出在:gdi物件選入了多個裝置環境!

核心物件 使用者物件 GDI物件

一 核心物件 1.可以理解為作業系統使用和管理的控制塊,例如嵌入式作業系統裡的任務控制塊,郵箱控制塊等。2.核心物件中有少數的靜態成員 全域性可見 3.只有通過呼叫windows api 才能使用核心物件。4.核心物件的作用域是基於程序的,這樣做處於安全和健壯型考慮。5.核心物件有乙個靜態成員用來計...

MFC建立GDI區域物件

下面就來開始建立區域 cpaintdc dc this 建立矩形乙個區域 crgn rgnrect rgnrect.createrectrgn 20,20,300,200 dc.selectobject rgnrect cbrush yellowbrush rgb 255,255,0 dc.fill...

adb install 多個裝置時指定裝置

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!在emulator 5554模擬器上安裝ebook.apk adb s emulator 5554 install ebook.apk 在真機上安裝ebook.apk adb s ht9byl904399 install ebook.apk 給我老...