win7的系統,拖動和遮蓋都沒有WM_PAINT 訊息,但是改變視窗大小就有WM_PAINT 訊息,我記得課堂上老師說的都有WM_PAINT才對,是系統的問題么?上課的是XP系統
uj5u.com熱心網友回復:
我記得拖動視窗,訊息佇列會阻塞,做游戲時,為此我還專門開一個執行緒來渲染避免拖動視窗時畫面卡住。遮蓋,多“古老”的事情了,應該是是Vista新的“桌面組合”導致每個視窗都有獨立的快取所以無需再渲染。
Win7可以在系統設定里面關了再試試, Win10的這個設定選項都被移除了。
不過用了D2D之后都不用懶得回應WM_PAINT 訊息了。用CPU渲染不復雜的場景比GDI又快又好有方便.
uj5u.com熱心網友回復:
關閉Aero,開啟Win7 Basic主題就有了。因為aero不會在每個視窗被遮住的時候洗掉DC中的資料
uj5u.com熱心網友回復:
你要畫圖還是寫在onpaint里面。你管他有沒有訊息。反正能拖就是了。能重繪顯示就是了、不知道你具體要實作什么?uj5u.com熱心網友回復:
您好我是本版版主
此帖已多日無人關注
請您及時結帖
如您認為問題沒有解決可按無滿意結帖處理
另外本版設定了疑難問題匯總帖
并已在版面置頂
相關規定其帖子中有說明
您可以根據規定提交您帖子的鏈接
如您目前不想結帖只需回帖說明
我們會洗掉此結帖通知
見此回復多日內無回應
我們將強制結帖
相關規定詳見界面界面版關于版主結帖作業的具體辦法
uj5u.com熱心網友回復:
拖動視窗,視窗內容如果不改變,是不會有WM_PAINT訊息的。在XP上也不會有。另外,視窗有個屬性:WS_LAYERED,如果是Layered視窗,那么它是快取模式的,內容不改變時,不會收到WM_PAINT,即使被其它視窗擋住再移開也不會,因為內容并沒有改變。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/156053.html
標籤:界面
上一篇:vc6.0在工程內呼叫另一個工程
