как изменить размер всплывающего окна wxcombobox

#c #combobox #wxwidgets

#c #combobox #wxwidgets

Вопрос:

Я создал поле со списком в диалоговом окне, используя библиотеку wxwidgets C (с MSVC и GCC). Список элементов в выпадающем списке слишком велик, и когда я нажимаю на выпадающий список, на экране отображается весь список, и он выглядит плохо, и выбор элемента из этого списка не так удобен для пользователя.

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

Любая помощь приветствуется.

Спасибо, Харик

Ответ №1:

Вы пробовали устанавливать желаемый размер в конструкторе?

Что-то вроде этого, что ограничит высоту всплывающего окна до 50 пикселей

 int ComboboxHeightPixels = 50;
new wxComboBox( this, ComboID, L"",wxPoint(-1,-1),
    wxSize(-1,ComboboxHeightPixels));
 

Комментарии:

1. Он изменяет размер текстового поля combobox, но не размер всплывающего окна.

2. Хорошо, отредактируйте свой вопрос, чтобы в нем говорилось, что вы пробовали это, и объясните, как это не сработало. Тогда я могу удалить этот «ответ».

Ответ №2:

Вам нужно использовать wxComboCtrl с некоторым всплывающим окном (см. wxPopupWindow), которое предоставляет wxListView и метод изменения размера (вероятно, вам придется реализовать это самостоятельно).