作者Anonymoux (猜猜偶素隨 ? ^*^)
看板C_and_CPP
標題[問題] CDC, Dirty Rectangle, setrop2
時間Mon Nov 1 21:05:38 2010
遇到的問題: (題意請描述清楚)
MFC dialog(不是DOC/VIEW) 下實現 類似 "筆刷"的效果
可用鍵盤方向鍵控制 畫筆 也可用滑鼠取得座標 再畫
也就是畫圖的同時要顯示筆刷圖樣 但不可透過setcurser()
因為用鍵盤畫時 希望滑鼠能做其他事 所以不要取得游標控制權
目前找到三種方式
Cstatic (效果不好 物件多的時候會頓)
Bitmap (今天看到dirty rectangle的方式...但不會)
Setrop2 (速度最快 但我只會NOTXORPEN 效果很陽春 沒辦法做出較複雜的筆刷)
希望得到的正確結果:
簡單的說就是 畫畫的時候能同時顯示 畫筆樣式(粗細..等等) 以及繪圖內容
但游標是自由的不受影響
程式跑出來的錯誤結果:
不曉得setrop2有沒有可能做到類似效果?
Bitmap是完全沒頭緒了
找了幾天的資料 試了幾種方法 都失敗....
memDC、CDC、HDC、HBITMAP...大概是觀念很薄弱 一直寫不出來
不曉得有沒有人會 或是 可以從哪邊開始著手?
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
VC6 MFC
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.174.149
→ stupid0319:從HDC著手 11/01 21:23
→ WPC001:不管是Doc/View或是Dialog base, 你都可以用CPaintDC 11/01 22:41