MFC中一个窗口中2个combo box的问题
今天做一个窗口的问题,在一个窗口里有两个ComboBox它们都拦截ON_CBN_EDITUPDATA的消息,因为一个类里只能有一个CCombo的对象因此我都用的m_com...
今天做一个窗口的问题,在一个窗口里有两个ComboBox 它们都拦截 ON_CBN_EDITUPDATA的消息,因为一个类里只能有一个CCombo的对象 因此我都用的m_combo 和函数 OnUpdateCombo进行处理 然后发现因为每次进行combo输入时,因为DDX和MESSAGE MAP里 ,两个combo处理的排列顺序问题 ,总是进行第一个Combo的操作,第二个就算输入了文字, 也是弹出第一个combo的下拉框, 我都无语了, 望各位大神解决 3Q 3Q~~~~~~~~~~
展开
1个回答
展开全部
可使用ON_CONTROL_RANGE
1. 打开 resource.h,将你的ComboBox控件ID进行连续编号,例如1001,1002...
2. 在对话框类的头文件中添加公有成员函数:afx_msg void OnUpdateCombo(UINT uID) ;
3. 在对话框类的cpp文件中BEGIN_MESSAGE_MAP(CTestDlg, CDialog) 的 //}}AFX_MSG_MAP下添加代码 ON_CONTROL_RANGE(CBN_EDITUPDATE,1001,1002,OnUpdateCombo)
4. 然后在cpp文件中添加函数void CTestDlg::OnUpdateCombo(UINT uID) {}
5. 在函数内判断 uID,来确定用户在哪个ComboBox里进行了输入,并作相应处理。
1. 打开 resource.h,将你的ComboBox控件ID进行连续编号,例如1001,1002...
2. 在对话框类的头文件中添加公有成员函数:afx_msg void OnUpdateCombo(UINT uID) ;
3. 在对话框类的cpp文件中BEGIN_MESSAGE_MAP(CTestDlg, CDialog) 的 //}}AFX_MSG_MAP下添加代码 ON_CONTROL_RANGE(CBN_EDITUPDATE,1001,1002,OnUpdateCombo)
4. 然后在cpp文件中添加函数void CTestDlg::OnUpdateCombo(UINT uID) {}
5. 在函数内判断 uID,来确定用户在哪个ComboBox里进行了输入,并作相应处理。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询