前言
我很菜,看得懂就看,看不懂很正常,出门左转,我尽量想写让人能看懂,当然主要是我自己记录用
正文
## 创建一个下拉框
工具箱->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,然后处理
以上,感觉可以直接轻松用下拉框了。