高分!!想在对话框中用鼠标实现任意拖动控件的功能!!

zam76212171 2008-05-21 07:10:26
如题。
...全文
94 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2008-05-22
  • 打赏
  • 举报
回复
因为在对话框中的空间上的鼠标消息并不发送给对话框
所以需要在 APP 中重载 PreTranslateMessage

处理 WM_LBUTTONDOWN WM_LBUTTONUP WM_MOUSEMOVE

菜牛 2008-05-22
  • 打赏
  • 举报
回复
消息响应自己添加一下,窗口都有WM_MOUSEACTIVE消息的。
zam76212171 2008-05-22
  • 打赏
  • 举报
回复
我试那代码了,但是没有效果。估计是对话框里没有MouseActivate消息,请问怎么解决?
Walker-cheng 2008-05-22
  • 打赏
  • 举报
回复
在处理mousemove的消息里实时移动控件的位置...
zam76212171 2008-05-22
  • 打赏
  • 举报
回复
我试那代码了,但是没有效果。估计是对话框里没有MouseActivate消息,请问怎么解决?
zam76212171 2008-05-22
  • 打赏
  • 举报
回复
我运行了之后,没有什么变化,只是能对静态文本移动,但对其他控件没有反应。不知道是怎么回事?
菜牛 2008-05-21
  • 打赏
  • 举报
回复
http://blog.csdn.net/Mackz/archive/2005/10/27/517747.aspx
zam76212171 2008-05-21
  • 打赏
  • 举报
回复
对话框中有多个控件。能给出代码吗?
我的邮箱:zam76212171@tom.com
nybeyond 2008-05-21
  • 打赏
  • 举报
回复
可以在LBUTTONDOWN里面发送一个点到标题的消息
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));
这个是我以前做的点击一个对话框的任意地方实现拖动的
cnzdgs 2008-05-21
  • 打赏
  • 举报
回复
响应控件的WM_LBUTTONDOWN消息,记录鼠标的位置并SetCapture;
响应控件的WM_LBUTTONUP消息,ReleaseCapture;
响应控件的WM_MOUSEMOVE消息,根据鼠标当前的位置和按下时记录的位置MoveWindow。
边缘998 2008-05-21
  • 打赏
  • 举报
回复
VC我没试过.帮顶.....DELPHI呢,我可以提供一个.
zhouzhenyan 2008-05-21
  • 打赏
  • 举报
回复
同意楼上。
当按下鼠标左键时,BOOL变量记录是否处于拖动状态,鼠标移动处理OnMouseMove函数,用SetWindowPos或者MoveWindow移动控件。松开鼠标左键时,BOOL变量置为FALSE。
  • 打赏
  • 举报
回复
那就在鼠标按下的时候做拖动标记
之后在鼠标移动的时候移动控件即可.
在鼠标弹起的时候取消拖动标记

15,976

社区成员

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

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