MFC combox控件的使用

想要出现如下图的结果,使用两个相关的combox控件,前面一个控件是组件IDC_COMBO_PART,后面一个是组件类别IDC_COMBO_TYPE,

首先,在对话框的头文件**Dlg.h里为两个组件分别定义自己的变量

CComboBox m_cbxPowerPart;//一个记录组件
CComboBox m_cbxPowerType;//一个记录组件类别

然后在类向导里面设置响应函数

首先在BOOL CXXDialog::OnInitDialog()中初始化组件IDC_COMBO_PART的显示:

        int i = 0;
m_cbxPowerPart.InsertString(i++, _T("塔身"));
m_cbxPowerPart.InsertString(i++, _T("塔头"));
m_cbxPowerPart.InsertString(i++, _T("支撑"));
m_cbxPowerPart.InsertString(i++, _T("横断"));
m_cbxPowerPart.InsertString(i++, _T("塔顶"));
m_cbxPowerPart.SetCurSel(0);

再在响应函数中添代码:

void CXXDialog::OnSelchangeComboPart()
{

      CString strWeb;

// 获取组合框控件的列表框中选中项的索引   
int nPart = m_cbxPowerPart.GetCurSel();
// 根据选中项索引获取该项字符串   
m_cbxPowerPart.GetLBText(nPart, strWeb);
// 将组合框中选中的字符串显示到IDC_SEL_WEB_EDIT编辑框中   
SetDlgItemText(IDC_COMBO_PART, strWeb);
int i;

      //选择不同的nPart,组件类别IDC_COMBO_TYPE弹出的字符也就不一样
switch (nPart)
{
case 0:
m_cbxPowerType.ResetContent();//清空之前显示的内容
i = 0;
m_cbxPowerType.InsertString( (i++), _T("***"));//输入你想显示的内容
break;
case 1:
m_cbxPowerType.ResetContent();
i = 0;
m_cbxPowerType.InsertString( (i++), _T("***"));//输入你想显示的内容
m_cbxPowerType.InsertString( (i++), _T("***"));//输入你想显示的内容
break;

..........//加入各种不同的情况
default:
m_cbxPowerType.ResetContent();
}

}

对类型控件也是进行类似的操作,就不写啦,刚刚上手,还有很多不了解的内容,慢慢学习

猜你喜欢

转载自blog.csdn.net/weixin_41485242/article/details/79155486