代码之家  ›  专栏  ›  技术社区  ›  MaxVT

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

  •  8
  • MaxVT  · 技术社区  · 15 年前

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

    框架>wxBoxSizer>wxPanel>wxBoxSizer>wxFlexGridSizer(2列9行),内有各种表单字段和按钮。

    一切看起来都很好,如果窗口被放大,框架可以适当地扩展,但它也可以调整大小到几乎为零,隐藏所有表单元素。

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

    4 回复  |  直到 15 年前
        1
  •  18
  •   VZ.    14 年前

    SetSizerAndFit(sizer) 若要将尺寸标注器与框架关联,请设置其初始尺寸,并将此尺寸设置为可接受的最小尺寸。

        2
  •  6
  •   dagorym    15 年前

    Layout() 方法来设置所有大小调整器等,调用 GetSize(int *w, int *h) SetMinSize() 方法将该默认大小设置为帧的最小值。这将考虑所有不同的填充和边框,以及框架和包含的元素设置的填充和边框。

        3
  •  2
  •   Community clintgh    7 年前

    在wxPerl中, dagorym 的答案可以简明扼要地写为 $self->SetMinSize($self->GetSize()); Layout()

        4
  •  1
  •   SteveL    15 年前

    我会试着打电话 wxFrame->SetMinSize(wxSize) 无论如何 wxFlexGridSizer->GetMinSize() 返回,应该有效,但未测试。我希望在传递之前,您需要注意GetMinSize关于转换为窗口大小的说明。

    推荐文章