我正在编写一个像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