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),
希望对你有帮助
把绘图代码和控制代码分开,绘图完毕后不可调用InvalidateRect
绘图移到OnPaint事件处理函数中,避免因调用Invalide或update函数擦除图像
Onmousemove中只记录数据
rect.bottom=rect.top+40
您好,mfc现在用的不多了啊
看看就行啊
moveto,lineto联合使用即可
任务