0

我刚从wxWidgets开始,我找不到一种方法让 sizer 内的按钮始终以全尺寸显示

IE。不应允许用户过多地减小窗口大小。

任何帮助将不胜感激。

4

4 回答 4

1

wxTopLevelWindow::SetMinSize允许您设置窗口可以调整到的最小尺寸。如果需要,您可以随时以编程方式使其变小。

于 2012-09-18T06:45:31.493 回答
0

完成向布局添加控件后,使用 GetSizer()->Fit()。

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

刚刚注意到你想阻止用户。而不是 sizer,以免将窗口缩小得太远。

这样做的方法是处理调整大小事件。在处理程序中检查新大小与最小大小,如果它太小,则不允许调整大小发生。

于 2012-09-17T23:28:07.280 回答
0

Sizer 在其元素之间分配可用大小。如果没有足够的可用空间,将不可避免地发生一些不好的事情,即至少某些控件将没有足够的大小。

为了防止这种情况发生,您必须确保最初的顶层窗口足够大,并且用户不能将其调整为更小的尺寸。实现它的最简单方法是SetSizerAndFit(sizer)在将 sizer 与顶层窗口关联时调用。这将同时完成这两件事。

于 2012-09-18T09:32:58.693 回答
0

好的,最终我得到了答案。附加到框架的 sizer 必须调用SetSizeHints()

编辑:将它称为顶级窗口是正确的,如下所示。

于 2012-09-18T18:17:25.887 回答