如何实现鼠标拖动图片

zyc_lc 2008-06-19 04:26:34
我的思路是这样的:
首先用在一个BUTTON上显示一个图片,然后响应WM_LBUTTONDOWN,然后响应WM_MOUSEMOVE消息,当鼠标移动的时候,就移动图片控件实现图片的移动,然后响应消息WM_LBUTTONUP,我真正目的是DOWN时鼠标位于哪个BUTTON上或则说是哪个图片上,然后移动后UP掉鼠标时,此时鼠标又在哪里.如果也是在一个BUTTON上,则将此图片移到UP的BUTTON上,如果不是BUTTON,则无效,图片不移动.
请问各位大哥如何实现?谢谢
...全文
132 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyc_lc 2008-06-20
  • 打赏
  • 举报
回复
可否详细点评一下,麻烦一下.
我就是不知道具体怎么实现,查了一整天没出结果.
na_he 2008-06-20
  • 打赏
  • 举报
回复
几下每次移动的位置,然后确定一个新的rect,在onpaint中re-draw了.
zyc_lc 2008-06-20
  • 打赏
  • 举报
回复
自己顶一个
请大家帮帮忙啊
zyc_lc 2008-06-20
  • 打赏
  • 举报
回复
思路我也是这样的,曾经做过,可是不记得具体实现了.
比如获取图片所在区域该怎么实现?
VsirSoft 2008-06-20
  • 打赏
  • 举报
回复
少了一个步骤.

这是纯粹的坐标计算问题 只要静心考虑,很快解决.

首先你可以在程序运行的时候获取图片所在区域

然后判断鼠标按下时是否在此区域

如果是的话 记录按下点坐标pt1.鼠标如果向右下移动 可以知道这时就是普通pt1.x+x,pt1.y+y.

然后图片左上角位置left+x,top+y.

然后鼠标弹起更新图片所在区域.
VsirSoft 2008-06-20
  • 打赏
  • 举报
回复
这是纯粹的坐标计算问题 只要静心考虑,很快解决.

首先你可以在程序运行的时候获取图片所在区域

然后判断鼠标按下时是否在此区域

如果是的话 记录按下点坐标pt1.鼠标如果向右下移动 可以知道这时就是普通pt1.x+x,pt1.y+y.

然后鼠标弹起更新图片所在区域.
miaoshengwu 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 na_he 的回复:]
记下每次移动的位置,然后确定一个新的rect,在onpaint中re-draw了.
[/Quote]

如果新的Rect在按钮上,
则把图片加载到按钮上作为位图,
zyc_lc 2008-06-20
  • 打赏
  • 举报
回复
请求大哥们 帮忙一下 小弟感激涕凌

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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