在wxWidgets中,是否有办法避免在调整窗口大小时仅部分显示按钮?

时间:2012-09-17 23:25:57

标签: c++ user-interface layout wxwidgets

我刚刚开始使用wxWidgets而我无法找到一种方法让sizer内的按钮始终以完整尺寸显示

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

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

wxTopLevelWindow::SetMinSize允许您设置窗口可以调整大小的最小大小。如果需要,您可以随时以编程方式将其缩小。

答案 1 :(得分:0)

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

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

注意到您要阻止用户。而不是sizer,从缩小窗口太远。

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

答案 2 :(得分:0)

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

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