请问怎样在View类中映射停靠对话条中ComBoBox中的ON_CBN_SELCHANGE消息?
假如我的View类是CMyView,父类CEditView
我的对话条类是CMyDialogBar,父类CDialogBar
我的ComBoBox控件ID是:IDC_COMBO_ONE
分不够再开贴加分!
假如我的View类是CMyView,父类CEditView
我的对话条类是CMyDialogBar,父类CDialogBar
我的ComBoBox控件ID是:IDC_COMBO_ONE
分不够再开贴加分!
project: afx_msg void OnSelchangeComboone();
在.cpp中
BEGIN_MESSAGE_MAP(CMyView, CView)
ON_CBN_SELCHANGE(IDC_COMBO_ONE, OnSelchangeComboone)
END_MESSAGE_MAP()
void CMyView::OnSelchangeComboone()
{}
正确的做法是利用VC6中的CReBar的特殊功能AddBar(&m_comboBoxCtrl)来实现,方法同楼上的做法,手工加入ON_CBN_SELCHANGE消息;
如果是用的VC5,则只好利用CToolBar进行派生,建立CComboBox成员,手工建立ComboBoa,加入ON_CBN_SELCHANGE消息!
只能用CReBar么?
用bitmap自己创建的ComBoBox的OnSelChange消息能不能被响应啊?
例子在Samples\Vc98\Mfc\Internet\Mfcie
例子在Samples\Vc98\Mfc\Internet\Mfcie
完全可以!
但是太麻烦了,我就在VC5下实现过!
哎,真实别扭啊
昨天听一个csdn上的网友说用CDialogBar不错,我就照做了,感觉还不是很麻烦,今天你这样一说,我昨天做的又得重来啊
哎,真实别扭啊,不过我还是对CDialogBar更有兴趣
为什么回不响应呢?既然微软作出CDialogBar这个类肯定有他的用处的啊
1 在CMainFrame的类声明中添加CComboBox成员变量m_cboMyTest;2 在CMainFrame的类声明中添加消息处理函数:afx_msg void
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnButtonExit();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
OnSelChangeCbobox();//(名字随便取)
3 在CMainFrame的OnCreate()函数中添加:
m_cboMyTest.SubclassDlgItem(IDC_CBO_CBOBOX,&m_wndDlgMyDialogBar);
IDC_CBO_CBOBOX为ComboBox的资源ID。
&m_wndDlgMyDialogBar为对话条变量。
4 在CMainFrame的映射表中的//}}AFX_MSG_MAP下面添加
ON_CBN_SELCHANGE(IDC_CBO_CBOBOX,OnSelChangeCbobox)。
5 完成CMainFrame::OnSelChangeCbobox()函数