CComboBox的小问题。
CComboBox* pCombo;
pCombo = new CComboBox;
pCombo->Create(CBS_NOINTEGRALHEIGHT | CBS_DROPDOWN | WS_VISIBLE | WS_BORDER | WS_VSCROLL,CRect(0,0,50,30,this,50);
当选择ComboBox里的内容时,怎样处理该事件?
问题点数:20、回复次数:11Top
1 楼viewerviewer(viewer)回复于 2005-04-22 15:07:12 得分 0
重载WindowProcTop
2 楼zxfvc(七品VC)回复于 2005-04-22 15:09:24 得分 0
能详细点吗?Top
3 楼zxfvc(七品VC)回复于 2005-04-22 15:55:35 得分 0
就是怎样处理CSN_SELCHANGE消息?Top
4 楼handwolf(青松崖)回复于 2005-04-22 16:06:58 得分 5
写个类继承CComboBox,比如CExComboBox,然后映射消息CSN_SELCHANGE就可以了。
CExComboBox* pCombo;
pCombo = new CExComboBox;
pCombo->Create(CBS_NOINTEGRALHEIGHT | CBS_DROPDOWN | WS_VISIBLE | WS_BORDER | WS_VSCROLL,CRect(0,0,50,30,this,50);
Top
5 楼viewerviewer(viewer)回复于 2005-04-22 16:10:49 得分 0
不好意思,我试了,我也没有能在WindowProc实现,抱歉。。。。
但是继承CComboBox是可以的。Top
6 楼vcmute(BCare4 H1Rest Good9!)回复于 2005-04-22 16:37:45 得分 0
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // WM_COMMAND
WPARAM wParam, // combo box identifier, CBN_SELCHANGE
LPARAM lParam // handle to combo box (HWND)
);Top
7 楼hjcy_2002(hjcy)回复于 2005-04-22 17:01:00 得分 0
继承CComboBox,映射消息CSN_SELCHANGETop
8 楼handwolf(青松崖)回复于 2005-04-22 17:23:36 得分 0
不是有一个CBN_SELCHANGED 消息吗?Top
9 楼zxfvc(七品VC)回复于 2005-04-22 17:42:01 得分 0
WindowProc()里不行。
照自定义消息处理可以了。Top
10 楼lizifong(scorrt)回复于 2005-04-22 20:09:02 得分 10
在它的父窗口中映射CBN_SELCHANGED消息,因为是动态创建的所以会找不到这个消息.
1.在工程中Resource.h中手动加入: #define IDC_COMBOBOX1 50
2.手动添加消息映射用这个ID, ON_CBN_SELCHANGE(IDC_COMBOBOX1, OnSelChangeCombobox)
3.在头文件中定义函数 afx_msg void OnSelChangeCombobox();
4.添加一个消息映射函数. void CParentClass::OnSelChangeCombobox(){//...do something}
Top
11 楼lizifong(scorrt)回复于 2005-04-22 20:12:09 得分 5
3.在头文件中定义函数 afx_msg void OnSelChangeCombobox(); //"定义"就为"声明",打错了Top




