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

2024-11-15 14:23:32
推荐回答(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:

任务