MFC Combo-Box Control не показывает полный список элементов, когда я нажимаю раскрывающееся меню
Я кодирую приложение в MSVS 2008, которое имеет элемент управления ComboBox, который я инициализирую с помощью кода, как показано ниже:
static char* OptionString[4] = {"Opt1",
"Opt2",
"Opt3",
"Opt4"};
BOOL CMyAppDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
m_Option.AddString(OptionString[0]);
m_Option.AddString(OptionString[1]);
m_Option.AddString(OptionString[2]);
m_Option.AddString(OptionString[3]);
m_Option.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
}
В приведенном выше коде,m_Option
является переменной управления для элемента управления ComboBox.
Теперь, когда я создаю приложение и нажимаю стрелку вниз, в раскрывающемся списке отображается ТОЛЬКО первая опция (поскольку я выбрал ее через мой код). Но если я нажимаю клавишу со стрелкой вниз на клавиатуре, она циклически перебирает опции в порядке, который я вставил, но никогда не показывает больше 1 опции в поле. Таким образом, в случае, если пользователь хочет выбрать вариант 3, он должен циклически переключаться между вариантами 1 и 2 !! Хотя, как только я выбираю любую опцию с помощью клавиатуры, запускаются соответствующие обработчики событий, меня это раздражает, как это понятно.
Я также перечисляю свойства элемента управления combo-box - только те свойства, которые имеют значение true (остальные имеют значение false):
Тип - выпадающийВертикальная полоса прокруткиВидимый ТабстопЭто беспокоило меня уже несколько недель. Может кто-нибудь, пожалуйста, просветите меня?