我正在編寫一個像Paint一樣的MFC應用程序。 我畫兩條線(按住並移動鼠標):如何在MFC中刪除行
第1步:處理WM_LBUTTONDOWN並獲取startPoint。
步驟2:使用LineTo()函數處理WM_MOUSEMOVE(使用MK_LBUTTON)來獲取endPoint,並從startPoint繪製一條線到endPoint。
但是在步驟2中,它在接收WM_MOUSEMOVE時繪製一行,因此創建了太多行。我想在這一步中刪除舊線並繪製新線。 (接收WM_LBUTTONUP時只繪製一條線)。 你能幫我嗎。謝謝大家。對不起,如果我的英語太糟糕了。
感謝您的回答。我是MFC新手。如果我調用Invalidate(),OnPaint()會清除客戶區中的所有內容?但我只想刪除以前的WM_MOUSEMOVE消息中的舊行並繪製當前行。你能幫我嗎? – 2014-11-24 07:10:33
如果你想控制線的顏色和寬度,那麼它必須按照我所描述的完成。還有另一種使用XOR筆的方式,通常用於讓用戶拖動橡皮線或矩形。 XOR筆可以通過重畫來擦除。要研究這種方法,請在MSDN中查找SetROP2。 – 2014-11-24 15:04:52
我有一些小問題,我需要你的幫助。你可以給我雅虎ID或其他我可以和你聊天的東西嗎?謝謝。 – 2014-11-26 12:03:10