基于对话框的编程之下拉框的使用


1、新建一个MFC应用程序,名称为04 comboBoxCtrl,应用程序类型选择基于对话框,资源语言选择中文简体

2、打开工具箱,在对话框中新增一个下拉框控件

3、修改显示内容

右键属性,修改Data,用分号隔开

效果如下

4、修改属性里面的Type为Drop List,可让用户不能编辑

5、默认按照ASCII码排序,修改sort为false就不排序了

6、为下拉框控件添加变量,修改访问权限和变量名称

7、在OnInitDialog函数中可对下拉框进行如下操作:添加、删除、插入、设置默认选项、获取指定索引的内容

  //下拉框添加
    m_cbx.AddString(TEXT("唐僧"));
    m_cbx.AddString(TEXT("孙悟空"));
    m_cbx.AddString(TEXT("猪八戒"));
    m_cbx.AddString(TEXT("沙僧"));

    //设置默认选项
    m_cbx.SetCurSel(0);

    //插入
    m_cbx.InsertString(4,TEXT("白龙马"));

    //删除
    m_cbx.DeleteString(3);

    //获取1号索引的具体内容
    /*CString str;
    m_cbx.GetLBText(1, str);
    MessageBox(str);*/

8、添加控件事件

对下拉框控件右键属性,在Control Events找到CBN_SELCHANGE,选择 OnCbnSelchangeCombo1,该事件在控件内容的选项发生改变时触发

编写OnCbnSelchangeCombo1函数

void CMy04comboBoxCtrlDlg::OnCbnSelchangeCombo1()
{
    // TODO: Add your control notification handler code here
    //拿到索引位置
    int index = m_cbx.GetCurSel();

    CString str;
    m_cbx.GetLBText(index, str);
    MessageBox(str);
}
MFC