【66】MFC入门到精通——(CComboBox)下拉框选项顺序与添加顺序不一致
文章目录
- 1 ComboBox下拉框选项顺序与添加顺序不一致
- 2 解决方法
1 ComboBox下拉框选项顺序与添加顺序不一致
下面下拉框分别加入"Rect"、“Circle”,默认显示"Rect"
m_cboShape.AddString(_T("Rect"));
m_cboShape.AddString(_T("Circle"));m_cboShape.SetCurSel(0);//默认显示"Rect"
下面下拉框分别加入".bmp"、“.jpg”,默认显示".jpg"
m_cboImgSuff.AddString(_T(".bmp"));
m_cboImgSuff.AddString(_T(".jpg"));m_cboShape.SetCurSel(1);//默认显示".jpg"
实际效果如下,
发现第一个ComboBox默认显示不对, 下拉框中的顺序与添加顺序也不对。
而第二个ComboBox默认显示和添加顺序完全一致。
这是碰巧吗?
2 解决方法
看看两个ComboBox的属性
在 MFC 中,如果下拉框(CComboBox)控件的 Sort 属性被设置为 True,它会自动按字母顺序重新排列所有条目,与代码中添加的先后顺序无关。
下拉框(CComboBox)控件的排序
属性被设置为 False
,问题解决!
配置文件
roiShape =Circle
ImgSuffix=.jpg
//设置下拉框默认选中项 为配置文件要求的得选项m_cboShape.SetCurSel(roiShape == "Rect" ? 0 : 1);m_cboImgSuff.SetCurSel(ImgSuffix == ".bmp" ? 0 : 1);