MFC实现鼠标选中直线并拖动到指定位置
用到MFC中3个消息处理函数:LBottonDown,WM_MouseMove,LBottonUp,具体每个事件中的实现源代码...
用到MFC中3个消息处理函数:LBottonDown,WM_MouseMove,LBottonUp,具体每个事件中的实现源代码
展开
展开全部
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.在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),
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询