В wxWidgets есть способ избежать отображения кнопок только частично при изменении размера окна?

Я только начинаю с WxWidgets и я не смог найти способ заставить кнопки внутри сайзера всегда показывать в полном размере

то есть. пользователь не должен слишком сильно уменьшать размер окна.

Любая помощь будет оценена.

0

Решение

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

1

Другие решения

Используйте GetSizer () -> Fit (), когда закончите добавлять элементы управления в макет.

http://docs.wxwidgets.org/2.9.4/classwx_sizer.html#abad9cedc0cbe9ade2c799da23462d17e

Просто заметил, что вы хотите предотвратить пользователь. а не сортировщик, от того, чтобы уменьшить окно слишком далеко.

Способ сделать это — обработать событие resize. В обработчике сверяйте новый размер с минимальным размером, и если он слишком мал, не допускайте изменения размера.

0

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

Чтобы этого не происходило, вы должны убедиться, что окно верхнего уровня изначально достаточно большое и не может быть изменено пользователем до меньшего размера. Самый простой способ добиться этого — позвонить SetSizerAndFit(sizer) при связывании классификатора с окном верхнего уровня. Это сделает обе эти вещи одновременно.

0

ОК, в конце концов я получил ответ. Sizer, который прикреплен к раме, должен вызвать SetSizeHints ()

РЕДАКТИРОВАТЬ: правильно назвать его для окна верхнего уровня, как предложено ниже.

0
По вопросам рекламы [email protected]