情景再现: 我在对话框上添加了一个button的控件,然后添加了一个类CMyButton (派生于CButton),然后为这个button控件添加一个CMyButton类型的变量!~
此时,我在CMybutton中添加了响应WM_LButtonDOWN的响应消息函数,运行程序!!代码:void CMyButton::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
MessageBox(L"fuck why");
CButton::OnLButtonDown(nFlags, point);
}问题来了: 程序运行起了,我点击了button控件显示了"fuck why",然后我再点击对话框上面(注意:此时没有点击button按钮上面),居然还是弹出了 ”fuck why“ 怎么会呢,我没有点击button的啊!不懂为什么!~ 谁能说说啦,谢谢!
另外:当我把 CButton::OnLButtonDown(nFlags, point); 这句去掉后,这时就不会出现我上面所描述的情况了!
求解!~ mfc大神在哪里!
此时,我在CMybutton中添加了响应WM_LButtonDOWN的响应消息函数,运行程序!!代码:void CMyButton::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
MessageBox(L"fuck why");
CButton::OnLButtonDown(nFlags, point);
}问题来了: 程序运行起了,我点击了button控件显示了"fuck why",然后我再点击对话框上面(注意:此时没有点击button按钮上面),居然还是弹出了 ”fuck why“ 怎么会呢,我没有点击button的啊!不懂为什么!~ 谁能说说啦,谢谢!
另外:当我把 CButton::OnLButtonDown(nFlags, point); 这句去掉后,这时就不会出现我上面所描述的情况了!
求解!~ mfc大神在哪里!
解决方案 »
- 如何判断windows license key的类型
- 关于MSXML解析器的内存管理问题
- 招Vc或图像识别方面的开发人员(北京)
- 一个很弱的问题,vc和visual studio是什么关系,用哪个好?
- 为什么说我的_beginthread和_endthread没有定义啊
- 怎样实现Excel主界面中的那种表格,CListCtrl可以达到吗?或有专门的控件?谢谢
- Navigate2卡死是怎么回事
- 在线等待:编译错误:unresolved external symbol _WinMain@16,有经验者请进
- 为什么我的BitBlt不起作用?
- VC6中用DB Library访问SQL,讀取varchar数据有問題
- 窗体输出问题 是在想不出什么好的方法 求解答
- 基于vc的上位机程序与下位机通信接收问题
通常是在WM_LBUTTONDOWN消息中SetCapture
在WM_LBUTTONUP消息中ReleaseCapture
这个操作肯定是CButton的OnLButtonDown完成的
而你弹出消息框破坏了消息结构
Button没有接到WM_LBUTTONUP消息
这个消息被主动弹出的MessageBox抢走了
所以Button一直在捕获状态没有释放