c++执行鼠标左键按下事件 5

if(pMsg->hwnd==GetDlgItem(IDC_MOVE1)->GetSafeHwnd()){if(pMsg->message==WM_LBUTTONDOWN... if(pMsg->hwnd==GetDlgItem(IDC_MOVE1)->GetSafeHwnd())
{
if(pMsg->message==WM_LBUTTONDOWN)
{
if(mode==handle)
{
SetTimer(4,0.0,NULL);
Bit32 value = 1;
SolveValue(TYPE_M,100,&value);
}
else
AfxMessageBox("请切换到手动模式!");
}

if(pMsg->message==WM_LBUTTONUP)
{
SolveValue(TYPE_M,100,0);
}
if(pMsg->message==WM_MOUSELEAVE)
{
SolveValue(TYPE_M,100,0);
}
}
以上程序是为了实现鼠标左键按下MOVE按钮时执行某个事件,但该事件必须在手动模式下才有效,如果不是手动模式,则弹出提示“请切换到手动模式!”,问题是:当模式不在手动模式时,我左键点击MOVE按钮,弹出提示后,我鼠标移到窗体的别的区域(非按钮区)点击时也提示,也点不了其它按钮,只要左键点击,就提示消息,请问是什么问题?谢谢
展开
 我来答
在八宝亭滑行的面包果
2014-10-15 · TA获得超过592个赞
知道小有建树答主
回答量:410
采纳率:0%
帮助的人:168万
展开全部
if(pMsg->hwnd==GetDlgItem(IDC_MOVE1)->GetSafeHwnd())	
{
              if(mode==handle)
              {
                if(pMsg->message==WM_LBUTTONDOWN)
                 {
                   SetTimer(4,0.0,NULL);
                   Bit32 value = 1;
                   SolveValue(TYPE_M,100,&value);
                 }
if(pMsg->message==WM_LBUTTONUP)
                 {
                 SolveValue(TYPE_M,100,0);
                 }
if(pMsg->message==WM_MOUSELEAVE)
                 {
                 SolveValue(TYPE_M,100,0);
                 }
              }
              else
              {
                 if(pMsg->message==WM_LBUTTONDOWN)
                {
                AfxMessageBox("请切换到手动模式!");
                }
              }
}
//代码书写排版习惯养好,不然逻辑出了问题自己都分不清
更多追问追答
追问
确实,您说的非常对,但是我照您说的改了之后,又出现了新的问题:鼠标只有一移到MOVE键上,没有任何点击动作,系统就出现提示框了,请问是怎么回事呢?
追答
重新复制粘贴下代码,我第一次发的代码有问题,我修改过一次
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式