MFC-ComboBox控件的使用
架构:
本次采用的是单纯对ComboBox下拉框的使用:
内容为
修改ComboBox的下拉成员:通过修改属性的数据内容和直接用代码实现
修改ComboBox控件的排序方式
修改ComboBox控件为不可编辑
通过代码实现对ComboBox的 增加 删除 插入
添加默认的菜单选项
获取当前选择的菜单选项的内容
获取当前索引
跟据索引获取内容
对选择事件后的响应
步骤
首先进行rc文件的ui添加
通过属性修改控件菜单栏
通过代码添加控件菜单栏
这里需要在初始化的时候添加,首先先要将Combox控件添加一个变量来处理。
然后在dlg为结尾的对话框实现类的OnInit成员函数里面进行初始化:
修改ComboBox控件的排序方式:
因为ComboBox的默认排序方式是根据菜单栏选项的每项的首个字符的ASCII码来处理,所以如果我们想根据自己添加的来就需要在属性里面修改排序方式
修改控件为不可编辑
参考经常使用的软件的下拉式控件都是不可编辑只能选择的,所以这里采用引用不可选择来处理
将这里的类型改为下拉列表就好
通过代码对下拉式菜单的增加 删除 插入
同样的由于没有具体控件来处理事件,所以直接在初始函数中来初始化处理
增加前文已经描述过了
下面是删除函数
插入:将需要插入的内容根据索引的位置直接插入进去
设置默认的菜单选项
参考普通软件,比如win10下的记事本,每个下拉式菜单都有一个默认值来处理的,所以这里我们也设置一个默认值来处理
同样需要在init初始化函数来处理
获取当前选择的菜单项的内容
用函数来获取默认子菜单项的内容并用MessageBox来显示
当改变子菜单后的内容响应
当在选择了具体的子菜单内容后通常都对后续有所影响和响应,所以这里我们开始编写修改子菜单选定内容的响应
首先在控件响应中添加CBN_SELCHANGE也就是当控件中内容改变后的响应
添加响应后我采取的demo处理方式就是显示选择的子菜单的内容,当然你可以是别的
完整代码实现: