查看源代码 wxGridBagSizer (wx v2.4.3)

一个 wxSizer,它可以在一个虚拟网格中布局项目,就像 wxFlexGridSizer 一样,但是这种情况下,允许使用 wxGBPosition (在 wx 中未实现)显式定位项目,并且可以使用 wxGBSpan (在 wx 中未实现)使项目跨越多个行和/或列。

此类派生自,并且可以使用来自以下类的函数:

wxWidgets 文档: wxGridBagSizer

概要

函数

将给定项目添加到给定位置。

将一个间隔添加到给定位置。

当需要 sizer 的管理尺寸或需要进行布局时调用。

查看所有项目,看看是否有任何项目与给定项目相交(或会重叠)。

销毁对象

查找给定窗口或子 sizer 的 sizer 项,如果未找到则返回 NULL。

返回位于给定点 pt 的 sizer 项,如果该点没有项,则返回 NULL。

返回给定网格单元的 sizer 项,如果该位置没有项,则返回 NULL。

返回具有匹配用户数据的 sizer 项(仅比较指针值),如果未找到则返回 NULL。

获取指定单元格的大小,包括 hgap 和 vgap。

获取网格中没有项目的单元格使用的大小。

等价于 new([])

构造函数,带有可选参数来指定行和列之间的间隙。

设置网格中没有项目的单元格使用的大小。

类型

-type wxGridBagSizer() :: wx:wx_object().

函数

-spec add(This, Item) -> wxSizerItem:wxSizerItem()
             when This :: wxGridBagSizer(), Item :: wxGBSizerItem:wxGBSizerItem().
链接到此函数

add(This, Window, Pos)

查看源代码
-spec add(This, Window, Pos) -> wxSizerItem:wxSizerItem()
             when
                 This :: wxGridBagSizer(),
                 Window :: wxWindow:wxWindow() | wxSizer:wxSizer(),
                 Pos :: {R :: integer(), C :: integer()}.

等价于 add(This, Window, Pos, [])

-spec add(This, Width, Height, Pos) -> wxSizerItem:wxSizerItem()
             when
                 This :: wxGridBagSizer(),
                 Width :: integer(),
                 Height :: integer(),
                 Pos :: {R :: integer(), C :: integer()};
         (This, Window, Pos, [Option]) -> wxSizerItem:wxSizerItem()
             when
                 This :: wxGridBagSizer(),
                 Window :: wxWindow:wxWindow() | wxSizer:wxSizer(),
                 Pos :: {R :: integer(), C :: integer()},
                 Option ::
                     {span, {RS :: integer(), CS :: integer()}} |
                     {flag, integer()} |
                     {border, integer()} |
                     {userData, wx:wx_object()}.

将给定项目添加到给定位置。

返回:如果项目成功放置在给定位置,则返回一个有效的指针;如果该位置已经有东西,则返回 NULL。

-spec add(This, Width, Height, Pos, [Option]) -> wxSizerItem:wxSizerItem()
             when
                 This :: wxGridBagSizer(),
                 Width :: integer(),
                 Height :: integer(),
                 Pos :: {R :: integer(), C :: integer()},
                 Option ::
                     {span, {RS :: integer(), CS :: integer()}} |
                     {flag, integer()} |
                     {border, integer()} |
                     {userData, wx:wx_object()}.

将一个间隔添加到给定位置。

widthheight 指定要添加的间隔的尺寸。

返回:如果间隔成功放置在给定位置,则返回一个有效的指针;如果该位置已经有东西,则返回 NULL。

-spec calcMin(This) -> {W :: integer(), H :: integer()} when This :: wxGridBagSizer().

当需要 sizer 的管理尺寸或需要进行布局时调用。

链接到此函数

checkForIntersection(This, Item)

查看源代码
-spec checkForIntersection(This, Item) -> boolean()
                              when This :: wxGridBagSizer(), Item :: wxGBSizerItem:wxGBSizerItem().

等价于 checkForIntersection(This, Item, [])

链接到此函数

checkForIntersection/3

查看源代码
-spec checkForIntersection(This, Pos, Span) -> boolean()
                              when
                                  This :: wxGridBagSizer(),
                                  Pos :: {R :: integer(), C :: integer()},
                                  Span :: {RS :: integer(), CS :: integer()};
                          (This, Item, [Option]) -> boolean()
                              when
                                  This :: wxGridBagSizer(),
                                  Item :: wxGBSizerItem:wxGBSizerItem(),
                                  Option :: {excludeItem, wxGBSizerItem:wxGBSizerItem()}.

查看所有项目,看看是否有任何项目与给定项目相交(或会重叠)。

如果是,则返回 true;如果不会重叠,则返回 false。 如果给定了 excludeItem,则不会检查其是否相交,例如,它可能是我们正在检查其位置的项目。

链接到此函数

checkForIntersection/4

查看源代码
-spec checkForIntersection(This, Pos, Span, [Option]) -> boolean()
                              when
                                  This :: wxGridBagSizer(),
                                  Pos :: {R :: integer(), C :: integer()},
                                  Span :: {RS :: integer(), CS :: integer()},
                                  Option :: {excludeItem, wxGBSizerItem:wxGBSizerItem()}.
-spec destroy(This :: wxGridBagSizer()) -> ok.

销毁对象

链接到此函数

findItem(This, Window)

查看源代码
-spec findItem(This, Window) -> wxGBSizerItem:wxGBSizerItem()
                  when This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer().

查找给定窗口或子 sizer 的 sizer 项,如果未找到则返回 NULL。

(非递归)

链接到此函数

findItemAtPoint(This, Pt)

查看源代码
-spec findItemAtPoint(This, Pt) -> wxGBSizerItem:wxGBSizerItem()
                         when This :: wxGridBagSizer(), Pt :: {X :: integer(), Y :: integer()}.

返回位于给定点 pt 的 sizer 项,如果该点没有项,则返回 NULL。

pt 中的 (x,y) 坐标对应于使用 sizer 进行布局的窗口的客户端坐标。(非递归)

链接到此函数

findItemAtPosition(This, Pos)

查看源代码
-spec findItemAtPosition(This, Pos) -> wxGBSizerItem:wxGBSizerItem()
                            when This :: wxGridBagSizer(), Pos :: {R :: integer(), C :: integer()}.

返回给定网格单元的 sizer 项,如果该位置没有项,则返回 NULL。

(非递归)

链接到此函数

findItemWithData(This, UserData)

查看源代码
-spec findItemWithData(This, UserData) -> wxGBSizerItem:wxGBSizerItem()
                          when This :: wxGridBagSizer(), UserData :: wx:wx_object().

返回具有匹配用户数据的 sizer 项(仅比较指针值),如果未找到则返回 NULL。

(非递归)

链接到此函数

getCellSize(This, Row, Col)

查看源代码
-spec getCellSize(This, Row, Col) -> {W :: integer(), H :: integer()}
                     when This :: wxGridBagSizer(), Row :: integer(), Col :: integer().

获取指定单元格的大小,包括 hgap 和 vgap。

仅在执行窗口布局后有效。

链接到此函数

getEmptyCellSize(This)

查看源代码
-spec getEmptyCellSize(This) -> {W :: integer(), H :: integer()} when This :: wxGridBagSizer().

获取网格中没有项目的单元格使用的大小。

-spec getItemPosition(This, Window) -> {R :: integer(), C :: integer()}
                         when
                             This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer();
                     (This, Index) -> {R :: integer(), C :: integer()}
                         when This :: wxGridBagSizer(), Index :: integer().
-spec getItemSpan(This, Window) -> {RS :: integer(), CS :: integer()}
                     when This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer();
                 (This, Index) -> {RS :: integer(), CS :: integer()}
                     when This :: wxGridBagSizer(), Index :: integer().
-spec new() -> wxGridBagSizer().

等价于 new([])

-spec new([Option]) -> wxGridBagSizer() when Option :: {vgap, integer()} | {hgap, integer()}.

构造函数,带有可选参数来指定行和列之间的间隙。

链接到此函数

setEmptyCellSize(This, Sz)

查看源代码
-spec setEmptyCellSize(This, Sz) -> ok
                          when This :: wxGridBagSizer(), Sz :: {W :: integer(), H :: integer()}.

设置网格中没有项目的单元格使用的大小。

-spec setItemPosition(This, Window, Pos) -> boolean()
                         when
                             This :: wxGridBagSizer(),
                             Window :: wxWindow:wxWindow() | wxSizer:wxSizer(),
                             Pos :: {R :: integer(), C :: integer()};
                     (This, Index, Pos) -> boolean()
                         when
                             This :: wxGridBagSizer(),
                             Index :: integer(),
                             Pos :: {R :: integer(), C :: integer()}.
-spec setItemSpan(This, Window, Span) -> boolean()
                     when
                         This :: wxGridBagSizer(),
                         Window :: wxWindow:wxWindow() | wxSizer:wxSizer(),
                         Span :: {RS :: integer(), CS :: integer()};
                 (This, Index, Span) -> boolean()
                     when
                         This :: wxGridBagSizer(),
                         Index :: integer(),
                         Span :: {RS :: integer(), CS :: integer()}.