首先,要在初始化的时候就要触发CBN_SELCHANGE消息。 一开始想的是是使用成员函数SetCursel(),不过设置下标并不能触发这个消息,PASS 然后,考虑到实际中点击选择的时候实际上是给这个控件发了一个CBN_SELCHANGE的消息,所以就照样在初始化函数里以发消息的方式实现了效果。 PostMessage(WM_COMMAND,MAKEWPARAM(IDC_COMB1,...
1,给下拉列表框添加更改事件,直接右键控件->选择添加事件处理程序,选择CBN_SELCHANGE 然后编辑代码,添加如下: 1voidCAutoShutDownDlg::OnCbnSelchangeCombo1()//时2{3//TODO: 在此添加控件通知处理程序代码4intsel =0;5sel =m_com_hour.GetCurSel();//这个是获取当前鼠标选择的时间的索引,从零开始的6hour =...
首先,要在初始化的时候就要触发CBN_SELCHANGE消息。 一开始想的是是使用成员函数SetCursel(),不过设置下标并不能触发这个消息,PASS 然后,考虑到实际中点击选择的时候实际上是给这个控件发了一个CBN_SELCHANGE的消息,所以就照样在初始化函数里以发消息的方式实现了效果。 1. 注意最后一个参数,句柄一定要正确。
在传递参数时,高位是当前模拟发送的ID号,每个窗口甚至是每个控件都有属于自己的编号,不难获取到。 低位是需要触发的系统消息,前面说到了模拟的是CBN_SELCHANGE消息,所以wParam参数的写法,如下: MAKEWPARAM( GetDlgCtrlID(),CBN_SELCHANGE) LPARAM参数 对于这个参数,就当对来说简单了,只需要传递当前窗口的HWND,转换成LP...
5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 组合框常用的事件为:CBN_SELCHANGE,当选择组合框某一项时,自动触发此事件。 void CMFCApplication2Dlg::OnCbnSelchangeCombo1() { // TODO: 在此添加控件通知处理程序代码 } 1. 2. 3. 4.
CBN_SELCHANGE:用户通过单击或移动箭头键改变了列表的选择 CBN_SETFOCUS:组合框获得了输入焦点 组合框控件的创建 MFC将组合框控件的所有操作都封装到了CComboBox类中。 我们在对话框中加入组合框时,可以往对话框模板中拖入Combo Box控件,而后添加CComboBox类型的控件变量使用,但如果我们想在程序中动态创建的话,就要使用...
但是老控件的通告消息, 比如CBN_SELCHANGE 还是通过WM_COMMAND 消息发送。 (4) windwos也允许程序员定义自己的消息,使用SendMessage或PostMessage来发送消息。 windows消息还可以分为: (1) 队列消息(Queued Messages) 消息会先保存在消息队列中,消息循环会从此队列中取出消息并分发到各窗口处理 ...
voidCComboTestDlg::OnCbnSelchangeComboOld() {//TODO: 在此添加控件通知处理程序代码} 知道了这几点后,照葫芦画瓢,在上述3步同样的位置添加相应的代码,如果选择已有项,则会显示原来的下拉框。 afx_msgvoidOnCbnSelChangeComboNew(); ON_CBN_SELCHANGE(IDC_COMBO_NEW, &CComboTestDlg::OnCbnSelChangeComboNew...
在上面的代码中,OnCbnSelchangeYourComboBox是一个处理下拉框选择改变事件的事件处理程序。你需要确保这个事件处理程序已经与你的下拉框控件关联(通常在对话框的类向导中完成)。 通过上述步骤,你应该能够在MFC中为下拉框成功添加选项,并验证它们的功能。
3 3.添加ComboBox 的消息CBN_SELCHANGE处理函数如下:void CXXXXDlg::OnSelchangeCombo1() { int sel=m_Combo1.GetCurSel();//得到当前选择的索引值 m_Combo1.GetLBText(sel,m_Edit1);//当前索引的对应文本放在m_Edit1 UpdateData(false);//更新,将关联变量的值更新到控件上} 4 4...