如何用鼠标移动来实现一个过程 我的本意是这样的,鼠标DOWN时判断是否在某个BUTTON上,是则发生MOVE行为,当鼠标UP时判断是否在某个BUTTON上,如果是则将前BUTTON上的名字移到现在的BUTTON上来,如果不在BUTTON上则原BUTTON不变.请问该如何实现.用VC 麻烦各位了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 传名字是其次,重要的是DOWM MOVE UP三个动作的实现我不知道. 当鼠标在当前窗口左健按下时,判断鼠标是不是在某个BUTTON上;如果是则拖动鼠标移动到某个位置;然后释放鼠标,再判断释放时鼠标是否在某个BUTTON上,如果是则将前一个BUTTON的名字删除并移到后一个BUTTON上. 我我可能要解决几个问题:1\判断DOWN时鼠标是否在BUTTON(在可用的BUTTONG上而不是被FALSE的BUTTON上)上2\MOVE这个过程3\UP时鼠标是否在BUTTON(在被FALSE的BUTTON上而不是可用的BUTTON上)上 前面已经有几位前辈指点了一些,比如:DOWN时,因为按钮本身会响应鼠标消息,然后对话框就不会再响应。在按钮中处理即可。或者在对话框PreTranstaleMessage中判断/在PreTranslateMessage中判断发给按钮的WM_LBUTTONDOWN消息。请问在PreTranslateMessage中判断发给按钮的WM_LBUTTONDOWN消息是如何实现的呢? 判断pMsg->hwnd是不是按钮的句柄。 在《MFC Windows编程》一书中第三章鼠标和键盘一章有个类似的例子,可以借鉴 谢谢 楼上各位我先做法是: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);} 文本输出问题! 消息队列的执行顺序到底是怎么样的???,请达人解释下 急!!请教各位大虾怎么把数据库中的记录用列表控件CListCtrl显示出来啊? 一个小问题.大家接分! ※ 如何进行针对Windows网络属性的编程? 求教!关于Visual assist 如何修改组件或控件的 消息处理函数 Minproc() MSDN的VC部分有没有中文版啊? 用WINDRIVER产生的源文件如何用于MFC项目? 一个关于VC设置的小问题 关于CFileDialog的奇怪问题,求教大侠 关于程序总是操作硬盘的问题?
1\判断DOWN时鼠标是否在BUTTON(在可用的BUTTONG上而不是被FALSE的BUTTON上)上
2\MOVE这个过程
3\UP时鼠标是否在BUTTON(在被FALSE的BUTTON上而不是可用的BUTTON上)上
请问在PreTranslateMessage中判断发给按钮的WM_LBUTTONDOWN消息是如何实现的呢?
我先做法是:
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);
}