Mfc 未排序的CComboBox的SetCurSel不工作

Mfc 未排序的CComboBox的SetCurSel不工作,mfc,Mfc,在CComboBox属性编辑器中设置Sort=false时,以下选项不起作用(所选项目是第一个:index=0): 如果sort=true,它将起作用,但项目列表可能看起来是这样的: 1 10 2 20 5 50 示例(在所有三个控件中选择为“1”): 提醒:当组合被排序时,此选项起作用。会发生什么?返回值是多少?调用SetWindowText时,您希望发生什么?如上所述,所选项目是第一个:index=0。这三种方法的结果都一样。这里是cmbobox?在从CDialog派生类的对话框中?在哪个

在CComboBox属性编辑器中设置Sort=false时,以下选项不起作用(所选项目是第一个:index=0):

如果sort=true,它将起作用,但项目列表可能看起来是这样的:

1
10
2
20
5
50
示例(在所有三个控件中选择为“1”):


提醒:当组合被排序时,此选项起作用。

会发生什么?返回值是多少?调用SetWindowText时,您希望发生什么?如上所述,所选项目是第一个:index=0。这三种方法的结果都一样。这里是cmbobox?在从CDialog派生类的对话框中?在哪个函数中/在哪个触发器上设置cursel?是否每次测试都调用其中一个函数?还是在一个测试中调用所有三个函数?您的代码在这里运行良好。您需要检查是否没有更改回选择的代码。
1
10
2
20
5
50
BOOL CMyDialog::OnInitDialog()
{
    ((CComboBox*)GetDlgItem(IDC_CB_a))->AddString("1");
    ((CComboBox*)GetDlgItem(IDC_CB_a))->AddString("2");
    ((CComboBox*)GetDlgItem(IDC_CB_a))->AddString("3");
    ((CComboBox*)GetDlgItem(IDC_CB_a))->SelectString(0, "3");

    ((CComboBox*)GetDlgItem(IDC_CB_b))->AddString("1");
    ((CComboBox*)GetDlgItem(IDC_CB_b))->AddString("2");
    ((CComboBox*)GetDlgItem(IDC_CB_b))->AddString("3");
    ((CComboBox*)GetDlgItem(IDC_CB_b))->SetCurSel(2);

    ((CComboBox*)GetDlgItem(IDC_CB_c))->AddString("1");
    ((CComboBox*)GetDlgItem(IDC_CB_c))->AddString("2");
    ((CComboBox*)GetDlgItem(IDC_CB_c))->AddString("3");
    ((CComboBox*)GetDlgItem(IDC_CB_c))->SetWindowText("3");

    return CMyBaseDialog::OnInitDialog();
}