如何用鼠标移动来实现一个过程

zyc_lc 2008-06-23 01:08:08
我的本意是这样的,鼠标DOWN时判断是否在某个BUTTON上,是则发生MOVE行为,当鼠标UP时判断是否在某个BUTTON上,如果是则将前BUTTON上的名字移到现在的BUTTON上来,如果不在BUTTON上则原BUTTON不变.请问该如何实现.用VC 麻烦各位了
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyc_lc 2008-06-24
  • 打赏
  • 举报
回复
谢谢 楼上各位
我先做法是:
BOOL CNewDlgDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_LBUTTONDOWN)
{
CWnd *pWnd = WindowFromPoint(pMsg->pt);
...
}
if(pMsg->message == WM_MOUSEMOVE)
{
...但是不知道MOVE这里是怎么操作法,如何实现一个虚拟框在拖动鼠标时的显示呢?
}
if(pMsg->message == WM_LBUTTONUP)
{
CWnd *pWnd = WindowFromPoint(pMsg->pt);
...
}
return CDialog::PreTranslateMessage(pMsg);
}
ayaya066 2008-06-24
  • 打赏
  • 举报
回复
在《MFC Windows编程》一书中第三章鼠标和键盘一章有个类似的例子,可以借鉴
cnzdgs 2008-06-23
  • 打赏
  • 举报
回复
判断pMsg->hwnd是不是按钮的句柄。
zyc_lc 2008-06-23
  • 打赏
  • 举报
回复
前面已经有几位前辈指点了一些,比如:DOWN时,因为按钮本身会响应鼠标消息,然后对话框就不会再响应。在按钮中处理即可。或者在对话框PreTranstaleMessage中判断/在PreTranslateMessage中判断发给按钮的WM_LBUTTONDOWN消息。
请问在PreTranslateMessage中判断发给按钮的WM_LBUTTONDOWN消息是如何实现的呢?
zyc_lc 2008-06-23
  • 打赏
  • 举报
回复
我我可能要解决几个问题:
1\判断DOWN时鼠标是否在BUTTON(在可用的BUTTONG上而不是被FALSE的BUTTON上)上
2\MOVE这个过程
3\UP时鼠标是否在BUTTON(在被FALSE的BUTTON上而不是可用的BUTTON上)上
zyc_lc 2008-06-23
  • 打赏
  • 举报
回复
当鼠标在当前窗口左健按下时,判断鼠标是不是在某个BUTTON上;如果是则拖动鼠标移动到某个位置;然后释放鼠标,再判断释放时鼠标是否在某个BUTTON上,如果是则将前一个BUTTON的名字删除并移到后一个BUTTON上.
cnzdgs 2008-06-23
  • 打赏
  • 举报
回复
描述再清楚一些。。。
zyc_lc 2008-06-23
  • 打赏
  • 举报
回复
传名字是其次,重要的是DOWM MOVE UP三个动作的实现我不知道.

15,979

社区成员

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

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