鼠标移动中画直线,当鼠标弹起时停止,如何响应????

woailaner 2008-04-17 08:24:32
鼠标移动中画直线,当鼠标弹起时停止,如何响应????
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xbt746 2008-04-18
  • 打赏
  • 举报
回复
都是利用系统的API
MFC可以双击创建
OenAuth.Core 2008-04-17
  • 打赏
  • 举报
回复
首先定义一个CPoint坐标p;
然后处理WM_LBUTTONDOWN,存储此时坐标点到p;
再处理WM_LBUTTONUP,因为这个事件处理函数中有坐标参数,所以用MoveToEx(hdc,p.x,p.y,NULL)(定义起始点)和LineTo(hdc,point.x,point.y)(到直线未点)这两个函数就可以画一条直线了。
不过这样画线的过程你可能看不到,用楼上的意见就是处理WM_MOUSEMOVE(好像是这个消息),然后要每隔一段时间,检测一下鼠标的坐标,然后划线;
Maxwell 2008-04-17
  • 打赏
  • 举报
回复
是不是要实现橡皮筋效果,鼠标移动过程中不断地画起点到鼠标指针间的线,这样就按楼上的步骤就行,记着抹掉原来的线。
独孤过儿 2008-04-17
  • 打赏
  • 举报
回复
先处理WM_LBUTTONDOWN,记下此时的点的坐标;

然后处理WM_MOUSEMOVE(好像是这个消息),然后要每隔一段时间,检测一下鼠标的坐标,然后划线;

最后处理WM_LBUTTONUP,记下此时的点的坐标,然后连接DOWN的时候的点的坐标,一条直线就出来了。

=========================

上面只是按照你的要求来处理消息,不过我不理解你为什么要这样做。直接只处理DOWN和UP时候的消息不就行了吗?直接检测两点的坐标,然

后连接就出来直线了啊。你处理MOVE消息,无非是想看鼠标移动中这条线的变化吧...
ryfdizuo 2008-04-17
  • 打赏
  • 举报
回复
onMouseDown记录起点位置,
onMouseMove函数里面实现动态的画直线,
onMouseUp,相应停止,

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧