MFC combo box 下拉框 快速使用

简介: 快速使用MFC combobox 的简单功能,本人博客,csdn搬运。

前言

我很菜,看得懂就看,看不懂很正常,出门左转,我尽量想写让人能看懂,当然主要是我自己记录用

正文

## 创建一个下拉框
工具箱->Combo Box 拽过去就完事了
当然,操作界面在.rc文件的Dialog资源里的某个你要做的界面里,双击进去看,应该知道吧...
## 添加变量
好的正题来了,添加变量,在下拉框的地方右键,添加变量,会自动生成一个变量并同时生成一个和这个下拉框绑定的关系语句,

 void CIrTestDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
    //    DDX_Control(pDX, IDC_COMBO2, m_Combo2_lst);
    DDX_Control(pDX, IDC_COMBO2, m_Combo2_lst);
}

声明的地方多出来这么一句

CComboBox m_Combo2_lst;

别的地方不知道还有没有变化,因为一开始我用软件添加变量失败之后试过直接做这两处改动,不知道为什么我定义的m_Combo2_lst并没有生效成下拉列表里的东西。不管啦,用VS打开是可以直接添加变量的。

添加内容

我不知道用点点点的方法怎么添加,我是在初始化的地方用代码写的
就是这个函数里面,

BOOL CIT::OnInitDialog()//CIT应该是你的主窗口名字

写这样的东西

m_Combo2_lst.AddString(_T("hello"));
m_Combo2_lst.AddString(_T("sd"));
m_Combo2_lst.AddString(_T("world"));

运行之后,就可以看见下拉框里面的东西了

获取选中

    CString str; 
    int nIndex;
    nIndex = m_Combo2_lst.GetCurSel();//获取当前的选中项的标号ID 从0开始,按照显示的顺序 0-xx
    //如果顺序和你加入时候不一样,那么一定是因为你的自动排序没有关 一个名字为Sort 的行为,把它从True改成False
    str.Format(_T("%d"), nIndex);// str 为nIndex的字符串格式

操作选中

0为第0项,可以改为1、2、3...ect,当然,你首先得有这些项

m_Combo2_lst.SetCurSel(0);//设置选中为第0项,一般用于初始化

下拉框设置成不可输入的

把Type的值从"Dropdown"改成"下拉列表",当然他也可能是个英文值,一共三个选项 ,改改试试吧,总有一款是对的。

下拉框被改变的事件

双击下拉框,就会生成并进入,一般这个时候获取当前下拉框被选中的ID,然后处理

以上,感觉可以直接轻松用下拉框了。

目录
相关文章
|
1月前
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
96 3
MFC基本控件4-列表框控件List Box
MFC基本控件4-列表框控件List Box
|
1月前
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Combo Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Combo Box的使用及说明
162 0
|
1月前
【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Check Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Check Box的使用及说明
30 0
|
3月前
Qt控件(按钮、单选、复选、list、tree、table)
Qt控件(按钮、单选、复选、list、tree、table)
|
4月前
【qt】QTableWidget 表格组件2
【qt】QTableWidget 表格组件
47 0
|
4月前
【qt】QTableWidget 表格组件1
【qt】QTableWidget 表格组件
37 0
|
4月前
QComboBox设置下拉item大小
QComboBox设置下拉item大小
142 0
|
10月前
关于 cl_gui_alv_grid 的 toolbar 事件
关于 cl_gui_alv_grid 的 toolbar 事件
|
Windows
自定义Window标题栏titleBar
自定义Window标题栏titleBar
355 0
自定义Window标题栏titleBar