
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按钮,弹出提示后,我鼠标移到窗体的别的区域(非按钮区)点击时也提示,也点不了其它按钮,只要左键点击,就提示消息,请问是什么问题?谢谢 展开
{
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按钮,弹出提示后,我鼠标移到窗体的别的区域(非按钮区)点击时也提示,也点不了其它按钮,只要左键点击,就提示消息,请问是什么问题?谢谢 展开
1个回答
展开全部
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键上,没有任何点击动作,系统就出现提示框了,请问是怎么回事呢?
追答
重新复制粘贴下代码,我第一次发的代码有问题,我修改过一次
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询