[問題] invalidateRect設定無效區域
不好意思,想請問一下關於設定無效區域的問題
我用WINDOWS API在寫角色移動的過程,設定無效區域的時候總是用
InvalidateRect(hwnd,null,false) ;
來重畫整個視窗,可是這樣卻讓整個效能都降低下來
因此我想改成只重畫『角色移動的那個矩陣位置』
因此假設人物的位置x,y座標為20,20設定變數為px,py
人物的寬度跟長度為199,199
我就設了一個Rect rect(px,py,199,199);
然後無效區域的地方改成:
InvalidateRect(hwnd,rect,false) ;
卻出現了:
『
error C2664:
'InvalidateRect' : 無法將參數 2 從 'Gdiplus::Rect' 轉換成 'const RECT *'
沒有可以執行此轉換的使用者定義轉換運算子或無法呼叫運算子
』
的錯誤訊息,我以為是要設成const可是改成了const也是錯誤
以下這幾兩種方法也都錯誤
Rect rect(px,py,199,199);
InvalidateRect(hwnd,&rect,false) ;
Rect *rect(px,py,199,199);
InvalidateRect(hwnd,&rect,false) ;
想請問各位高手設定無效區域的方法該怎麼做?
是我根本用錯方法了嘛嗎?還是不是用rect來設定矩陣位置?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.32.47
→
06/20 14:03, , 1F
06/20 14:03, 1F
→
06/20 14:03, , 2F
06/20 14:03, 2F
※ 編輯: yoll522 來自: 114.34.32.47 (06/20 14:22)
→
06/20 22:01, , 3F
06/20 22:01, 3F
→
06/20 22:12, , 4F
06/20 22:12, 4F
→
06/20 22:13, , 5F
06/20 22:13, 5F
→
06/20 22:13, , 6F
06/20 22:13, 6F
→
06/20 22:13, , 7F
06/20 22:13, 7F
→
06/20 22:16, , 8F
06/20 22:16, 8F
→
06/20 22:16, , 9F
06/20 22:16, 9F
→
06/20 22:16, , 10F
06/20 22:16, 10F
→
06/20 22:16, , 11F
06/20 22:16, 11F
→
06/20 22:19, , 12F
06/20 22:19, 12F
→
06/20 22:55, , 13F
06/20 22:55, 13F
→
06/20 22:56, , 14F
06/20 22:56, 14F
→
06/20 22:56, , 15F
06/20 22:56, 15F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章