C ++ MFC CComboBox пуст

у меня есть небольшой comboBox, и я хочу заполнить его 6 записями ... я написал этот код:

CComboBox* dropdownList = ((CComboBox*)GetDlgItem(IDC_PROGRAMDROPDOWN));
dropdownList->Clear();
dropdownList->AddString(L"test");
dropdownList->AddString(L"test2");
dropdownList->InsertString(2,L"test3");
dropdownList->InsertString(3,L"test4");
dropdownList->InsertString(4,L"test5");

Как видите, я пробовал AddString() и InsertString(). оба без эффекта. Я также пробовал это только с AddString(), что должно быть правильным способом его инициализации.

Но мое поле со списком пусто. Я уже отлаживал его, и эти строки попали, но безрезультатно.

Есть ли у вас какие-либо идеи?


person Laokoon    schedule 24.01.2013    source источник
comment
Привет, может быть, вы случайно проверили настройку OWNERDRAW в свойствах CComboBox?   -  person Clemens    schedule 24.01.2013
comment
Куда именно вы положили этот код? В OnInitDialog, верно? Или нет?   -  person Ajay    schedule 24.01.2013


Ответы (2)


В редакторе диалоговых окон убедитесь, что вы изменили размер элемента ComboBox так, чтобы его высота была достаточно большой, чтобы вместить все элементы при раскрытии ComboBox. По умолчанию это будет только высота бита «управления редактированием» ComboBox, который ограничивает расширенную высоту.

Итак, в редакторе диалоговых окон щелкните бит раскрывающейся кнопки поля со списком, и вы должны увидеть, как ручки перетаскивания немного изменились. Вытяните новый размер, чтобы учесть все элементы в раскрывающемся списке.

person Derek    schedule 28.02.2013

Спасибо за все ваши ответы. Но это был ужасный провал моей IDE -.-. Я только что воссоздал UI-Element, и он сработал ...

Я воссоздал его с теми же свойствами (Копировать и Вставить)

person Laokoon    schedule 06.03.2013