当前位置:  开发笔记 > 编程语言 > 正文

如何在wxWidgets中设置最小窗口大小?

如何解决《如何在wxWidgets中设置最小窗口大小?》经验,为你挑选了2个好方法。

这是我得到的小部件的层次结构:

Frame> wxBoxSizer> wxPanel> wxBoxSizer> wxFlexGridSizer(2列,9行),里面有各种表单字段和按钮.

第一个BoxSizer是放置面板,第二个是围绕FlexGrid创建边框.

一切看起来都不错,如果窗口被放大,框架可以正常扩展,但它也可以调整到几乎没有,隐藏所有表单元素.

如何将窗口的最小大小强制为FlexGridSizer默认建议的大小(所有表单元素都可见且具有最小可能的大小)?



1> VZ...:

可能为时已晚,但这里给出的答案是不必要的复杂,你只需要调用SetSizerAndFit(sizer)将sizer与框架相关联,设置其初始尺寸并将此尺寸设置为最小可接受尺寸.


提出答案还为时不晚!

2> dagorym..:

使用Frame上的SetMinSize()方法设置最小大小将对帧的最小区域设置限制(仅测试它).设置后,wxWidgets将不允许框架的大小小于指定的值.

我会设置这样的值.在构造函数中,设置框架的所有元素.最后,在调用Layout()方法设置所有sizer等之后,调用GetSize(int *w, int *h)方法以在默认布局中获取帧的x和y大小.使用这些值调用SetMinSize()方法将默认大小设置为Frame的最小值.这将考虑所有各种填充和边框以及框架和包含的元素的这种设置.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有