Я только начинаю с WxWidgets и я не смог найти способ заставить кнопки внутри сайзера всегда показывать в полном размере
то есть. пользователь не должен слишком сильно уменьшать размер окна.
Любая помощь будет оценена.
wxTopLevelWindow :: SetMinSize позволяет вам установить минимальный размер окна. Вы всегда можете сделать это маленьким программно, если это необходимо.
Используйте GetSizer () -> Fit (), когда закончите добавлять элементы управления в макет.
http://docs.wxwidgets.org/2.9.4/classwx_sizer.html#abad9cedc0cbe9ade2c799da23462d17e
Просто заметил, что вы хотите предотвратить пользователь. а не сортировщик, от того, чтобы уменьшить окно слишком далеко.
Способ сделать это — обработать событие resize. В обработчике сверяйте новый размер с минимальным размером, и если он слишком мал, не допускайте изменения размера.
Сайзеры распределяют доступный размер среди своих элементов. Если свободного места недостаточно, неизбежно произойдет что-то плохое, то есть по крайней мере некоторые элементы управления не будут иметь достаточного размера.
Чтобы этого не происходило, вы должны убедиться, что окно верхнего уровня изначально достаточно большое и не может быть изменено пользователем до меньшего размера. Самый простой способ добиться этого — позвонить SetSizerAndFit(sizer)
при связывании классификатора с окном верхнего уровня. Это сделает обе эти вещи одновременно.
ОК, в конце концов я получил ответ. Sizer, который прикреплен к раме, должен вызвать SetSizeHints ()
РЕДАКТИРОВАТЬ: правильно назвать его для окна верхнего уровня, как предложено ниже.