CMyButton 继承 CButton
在CMyButton类中 重载了 OnLButtonDown函数 函数内部:
MessageBox(L"123");
CButton::OnLButtonDown(nFlags, point);
在Dlg环境中,diaolg中添加了一个button,关联类是CMyButton,点击弹出提示对话框"123"(预期效果)
之后,只要该dialog获得焦点,点击鼠标左键,总会弹出提示对话框"123"
不明白为什么?
这情况是怎么回事?
在CMyButton类中 重载了 OnLButtonDown函数 函数内部:
MessageBox(L"123");
CButton::OnLButtonDown(nFlags, point);
在Dlg环境中,diaolg中添加了一个button,关联类是CMyButton,点击弹出提示对话框"123"(预期效果)
之后,只要该dialog获得焦点,点击鼠标左键,总会弹出提示对话框"123"
不明白为什么?
这情况是怎么回事?
BN_CLICKED 是WM_LBUTTONDWON WM_LBUTTONUP 消息的组成我在 BN_CLICKED 的响应函数中 写入MessageBox 和在WM_LBUTTONDOWN 的响应函数中写入MessageBox应该是一样的把 ? 不理解
按钮也是一个小window 应该所有的消息都有的...
应该是BM_CLICKED这个消息,而BN_CLICKED是按钮的父窗口响应。
Simulates the user clicking a button. This message causes the button to receive the WM_LBUTTONDOWN and WM_LBUTTONUP messages, and the button's parent window to receive a BN_CLICKED notification message.
查看了msdn 确实如此,但是我用vs2008 中只有BN_CLICKED消息 添加相应后 也确实解决了这个问题,那么现在更加迷惑了..
问题:1、BN_CLICKED 是父类相应的吗? 怎么在子类中也可以添加该消息响应函数?
2、为什么在WM_LBUTTONDOWN消息中添加MessageBox函数后,父类也会执行子类的WM_LBUTTONDOWN消息响应函数?