1、新建项目MFC对话框。
2、在主窗口添加控件,如下
3、属性修改,type有三种,选择下拉列表,是用户不可编辑的。
4、为控件添加控件变量,右键跳出,这里设为mycombox
5、修改初始化程序,增加控件里面的选项
CComboBox::AddString(内容1)
CComboBox::SetCurSel(默认显示的那个选项)
这里发现我这里先加的项索引反而高一些。
添加这个内容也可以在属性右侧的data下添加,用分号隔开
6、显示如下
7、添加控件响应消息,选择CBN_SELCHNGE,选择改变的时候响应
8、获取选择的内容的索引,根据索引弹出对话框,确认是否正确
void CMFCApplication3Dlg::OnSelchangeCombo1()
{
// TODO: 在此添加控件通知处理程序代码
int i=mycombox.GetCurSel();
switch (i)
{
case 0:
MessageBox(L"选择的数据是0.625M");
break;
case 1:
MessageBox(L"选择的数据是1.25M");
break;
case 2:
MessageBox(L"选择的数据是2.5M");
break;
default:
break;
}
}
9。动态添加这个控件
按照“”动态创建静态文字CStatic和动态创建编辑框Cedit“”中的方法,在初始化函数中进行。(把上面1-8的内容都去掉或者重新建一个工程)
CRect rect;
this->GetClientRect(&rect);//获取父窗尺寸
CComboBox* mycombox;//创建控件实例
CRect rct(rect.Width()/2-75, rect.Height()/2-25, rect.Width() / 2 +75, rect.Height() / 2 + 25);//控件位置居中,大小150-50
mycombox = new CComboBox();//动态创建申请内存
mycombox->Create(WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST, rct, this, 8888);//动态创建
mycombox->AddString(L"diyig");//显示内容如上
mycombox->AddString(L"dierg");
mycombox->SetCurSel(1);//默认显示设置
mycombox->ShowWindow(SW_SHOW);//显示在屏幕上
2019.3.22