如何使子控件和父窗口都能接受到CBN_SELCHANGE事件?

简介:
情况是这样的:在对话框中有一个自定义组合框控件CMyComboBox,它继承自MFC类CComboBox。在自定义的组合框中,要处理这样一种情况,如果用户没有改变CMyComboBox的值,则不给父窗口发消息,如果改变了,则通知父窗口以进行其它的更新工作。解决方案如下: 
None.gif // CMyComboBox.h
None.gif
class CMyComboBox :  public CComboBox
ExpandedBlockStart.gif {
InBlock.gif    dot.gifdot.gif
InBlock.gif    afx_msg BOOL OnSelchange();
InBlock.gif    dot.gifdot.gif
ExpandedBlockEnd.gif}

None.gif
None.gif // CMyComboBox.cpp
None.gif
BEGIN_MESSAGE_MAP(CMyComboBox, CComboBox)
None.gif    ON_CONTROL_REFLECT_EX(CBN_SELCHANGE, OnSelchange)
None.gifEND_MESSAGE_MAP()
None.gifBOOL
None.gifCMyComboBox::OnSelchange()
ExpandedBlockStart.gif {
InBlock.gif    dot.gifdot.gif
InBlock.gif    if(值发生改变)
ExpandedSubBlockStart.gif    {
InBlock.gif        dot.gifdot.gif
InBlock.gif        
InBlock.gif        //注意:返回“假”时会通知父窗口
InBlock.gif
        return FALSE;
ExpandedSubBlockEnd.gif    }

InBlock.gif    
InBlock.gif    //注意:返回“真”时不通知父窗口
InBlock.gif
    return TRUE;
ExpandedBlockEnd.gif}
目录
相关文章
|
4月前
[Qt5] 鼠标响应事件和计时器事件
[Qt5] 鼠标响应事件和计时器事件
24 0
|
4月前
失焦事件和点击事件
失焦事件和点击事件
20 1
|
10月前
|
存储 安全 Windows
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
14、事件类型(鼠标事件、键盘事件、触屏事件)
14、事件类型(鼠标事件、键盘事件、触屏事件)
127 0
c#窗体showdialog如何回传ok
c#窗体showdialog如何回传ok
|
Windows
WindowFocusListener窗体焦点监听器
WindowFocusListener窗体焦点监听器
223 0
WindowFocusListener窗体焦点监听器
|
容器 C#
3D场景中的鼠标响应事件
原文:3D场景中的鼠标响应事件 今天要讲的是3D场景中的鼠标响应事件的处理,首先Button的响应是大家熟知的,只要加上一个click事件,然后写一个响应的处理时间就行了。对于二维平面上的一些控件也很好处理,比如在跳棋那篇文章中,就是用了ellipse的鼠标左右键按下的事件响应函数。
893 0
|
C#
WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件
原文:WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件 在WPF中,只有鼠标位置在某个控件上的时候才会触发该控件的鼠标事件。例如,有两个控件都注册了MouseDown和MouseUp事件,在控件1上按下鼠标,不要放开,移动到控件2上再放开。
2246 0

热门文章

最新文章