MFC 鼠标移动获取坐标和画线

2024年11月15日 14:23
有5个网友回答
网友(1):

1.在View类里设3个CPoint型变量,oldbegin,oldend用来表示移动过程中,刚才直线所在位置的起点,终点坐标,oldclick用来表示按下鼠标左键时,点击点的坐标.

2.在LButtonDown响应函数里,令oldclick=point,point是鼠标响应函数是参数.

3.在MouseMove响应函数里,把原直线擦去(擦去的方法要看你是怎么实现画直线的了,我也不知道你是怎么实现的,你自己分析吧),然后求出新的直线的两点坐标
(oldbegin.x+point.x-oldclick.x,oldbegin.y+point.y-oldclick.y),
(oldend.x+point.x-oldclick.x,oldend.y+point.y-oldclick.y),
希望对你有帮助

网友(2):

把绘图代码和控制代码分开,绘图完毕后不可调用InvalidateRect

绘图移到OnPaint事件处理函数中,避免因调用Invalide或update函数擦除图像
Onmousemove中只记录数据

网友(3):

rect.bottom=rect.top+40

网友(4):

您好,mfc现在用的不多了啊
看看就行啊
moveto,lineto联合使用即可

网友(5):

任务