檢視原始碼 wxGridBagSizer (wx v2.4.3)

一個 wxSizer,可以像 wxFlexGridSizer 一樣在虛擬網格中佈局項目,但在這種情況下,允許使用 wxGBPosition 明確定位項目(在 wx 中未實現),並且項目可以選擇使用 wxGBSpan 跨越多個行和/或列(在 wx 中未實現)。

這個類別繼承自以下類別,並且可以使用它們的函式:

wxWidgets 文件:wxGridBagSizer

摘要

函式

將給定的項目新增到給定的位置。

將一個間隔物件新增到給定的位置。

當需要計算 sizer 的管理尺寸或需要進行佈局時呼叫。

查看所有項目,看看是否有任何項目與給定的項目相交(或會重疊)。

銷毀該物件

尋找給定視窗或子 sizer 的 sizer 項目,如果找不到則返回 NULL。

返回位於給定點 pt 的 sizer 項目,如果該點沒有項目則返回 NULL。

返回給定網格儲存格的 sizer 項目,如果該位置沒有項目則返回 NULL。

返回具有相符使用者資料的 sizer 項目(僅比較指標值),如果找不到則返回 NULL。

取得指定儲存格的大小,包括水平間隙和垂直間隙。

取得網格中沒有項目的儲存格所使用的大小。

等同於 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().

取得指定儲存格的大小,包括水平間隙和垂直間隙。

僅在執行視窗佈局後有效。

此函式的連結

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()}.