查看源代码 wxSizerItem (wx v2.4.3)
wxSizerItem
类用于跟踪由 wxSizer
管理的每个项目的位置、大小和其他属性。
通常没有必要使用此类,因为sizer元素也可以通过它们的位置或窗口或sizer指针来识别,但有时直接使用它可能更方便。
wxWidgets 文档: wxSizerItem
摘要
函数
设置此项跟踪的 sizer。
设置此项跟踪的间隔符的大小。
设置此项要跟踪的窗口。
计算项目的最小期望大小,包括边框所需的任何空间。
销毁窗口或子 sizer 中的窗口,具体取决于项目类型。
销毁对象
启用删除 SizerItem 而不销毁包含的 sizer。
返回边框属性。
返回标志属性。
获取项目所需的最小大小。
项目当前的位置是什么,如上次布局中设置的那样。
获取比例项目属性。
获取比例项目属性。
获取项目在父窗口上的矩形,不包括边框。
获取项目当前的大小,如上次布局中设置的那样。
如果此项正在跟踪 sizer,则返回它。
如果此项正在跟踪间隔符,则返回其大小。
获取 userData 项目属性。
如果此项正在跟踪窗口,则返回它。
如果此项是窗口或间隔符并且已显示,或者如果此项是 sizer 并且并非其所有元素都已隐藏,则返回 true。
此项是 sizer 吗?
此项是间隔符吗?
此项是窗口吗?
构造一个用于跟踪间隔符的 sizer 项目。
设置边框项目属性。
设置分配给 sizer 的空间的位置和大小,并调整项目的位置和大小,使其在考虑对齐和边框的情况下位于该空间内。
设置标志项目属性。
设置为此项目分配的最小大小。
设置为此项目分配的最小大小。
这是一个重载的成员函数,为方便起见而提供。它与上述函数的不同之处仅在于它接受的参数。
设置比例项目属性。
设置比例项目属性。
设置显示项目属性,sizer 使用该属性来确定该项目是否要成为布局的一部分。
类型
-type wxSizerItem() :: wx:wx_object().
函数
-spec assignSizer(This, Sizer) -> ok when This :: wxSizerItem(), Sizer :: wxSizer:wxSizer().
设置此项跟踪的 sizer。
如果存在旧的 sizer,则会删除。
-spec assignSpacer(This, Size) -> ok when This :: wxSizerItem(), Size :: {W :: integer(), H :: integer()}.
设置此项跟踪的间隔符的大小。
如果存在旧的间隔符,则会删除。
-spec assignSpacer(This, W, H) -> ok when This :: wxSizerItem(), W :: integer(), H :: integer().
-spec assignWindow(This, Window) -> ok when This :: wxSizerItem(), Window :: wxWindow:wxWindow().
设置此项要跟踪的窗口。
注意:这是一种低级方法,如果使用不当则很危险,如果可能,请避免使用它,即如果可以使用更高级别的方法(例如 wxSizer:replace/4
)来代替。
如果 sizer 项目先前包含窗口,则它会从包含此 sizer 项目的 sizer 中解除关联(如果有),但是此对象没有指向包含 sizer 的指针,因此调用方有责任在 window
上调用 wxWindow:setContainingSizer/2
。如果不这样做,可能会在以后销毁窗口时导致内存损坏,因此务必不要忘记这样做。
另请注意,先前包含的窗口 not
会被删除,因此,如果需要,也由调用方负责删除。
-spec calcMin(This) -> {W :: integer(), H :: integer()} when This :: wxSizerItem().
计算项目的最小期望大小,包括边框所需的任何空间。
-spec deleteWindows(This) -> ok when This :: wxSizerItem().
销毁窗口或子 sizer 中的窗口,具体取决于项目类型。
-spec destroy(This :: wxSizerItem()) -> ok.
销毁对象
-spec detachSizer(This) -> ok when This :: wxSizerItem().
启用删除 SizerItem 而不销毁包含的 sizer。
-spec getBorder(This) -> integer() when This :: wxSizerItem().
返回边框属性。
-spec getFlag(This) -> integer() when This :: wxSizerItem().
返回标志属性。
有关详细信息,请参阅 wxSizer 标志列表
(在 wx 中未实现)。
-spec getMinSize(This) -> {W :: integer(), H :: integer()} when This :: wxSizerItem().
获取项目所需的最小大小。
-spec getPosition(This) -> {X :: integer(), Y :: integer()} when This :: wxSizerItem().
项目当前的位置是什么,如上次布局中设置的那样。
-spec getProportion(This) -> integer() when This :: wxSizerItem().
获取比例项目属性。
-spec getRatio(This) -> number() when This :: wxSizerItem().
获取比例项目属性。
-spec getRect(This) -> {X :: integer(), Y :: integer(), W :: integer(), H :: integer()} when This :: wxSizerItem().
获取项目在父窗口上的矩形,不包括边框。
-spec getSize(This) -> {W :: integer(), H :: integer()} when This :: wxSizerItem().
获取项目当前的大小,如上次布局中设置的那样。
-spec getSizer(This) -> wxSizer:wxSizer() when This :: wxSizerItem().
如果此项正在跟踪 sizer,则返回它。
否则为 NULL。
-spec getSpacer(This) -> {W :: integer(), H :: integer()} when This :: wxSizerItem().
如果此项正在跟踪间隔符,则返回其大小。
-spec getUserData(This) -> wx:wx_object() when This :: wxSizerItem().
获取 userData 项目属性。
-spec getWindow(This) -> wxWindow:wxWindow() when This :: wxSizerItem().
如果此项正在跟踪窗口,则返回它。
否则为 NULL。
-spec isShown(This) -> boolean() when This :: wxSizerItem().
如果此项是窗口或间隔符并且已显示,或者如果此项是 sizer 并且并非其所有元素都已隐藏,则返回 true。
换句话说,对于 sizer 项目,必须隐藏所有子元素,sizer 本身才会被认为是隐藏的。
作为例外,如果为此 sizer 项目使用了 wxRESERVE_SPACE_EVEN_IF_HIDDEN
标志,则 isShown/1
始终返回 true(请参阅 wxSizerFlags::ReserveSpaceEvenIfHidden()
(在 wx 中未实现))。
-spec isSizer(This) -> boolean() when This :: wxSizerItem().
此项是 sizer 吗?
-spec isSpacer(This) -> boolean() when This :: wxSizerItem().
此项是间隔符吗?
-spec isWindow(This) -> boolean() when This :: wxSizerItem().
此项是窗口吗?
-spec new(Window) -> wxSizerItem() when Window :: wxWindow:wxWindow() | wxSizer:wxSizer().
等效于 new(Window, [])
。
-spec new(Width, Height) -> wxSizerItem() when Width :: integer(), Height :: integer(); (Window, Flags) -> wxSizerItem() when Window :: wxWindow:wxWindow() | wxSizer:wxSizer(), Flags :: wxSizerFlags:wxSizerFlags(); (Window, [Option]) -> wxSizerItem() when Window :: wxWindow:wxWindow() | wxSizer:wxSizer(), Option :: {proportion, integer()} | {flag, integer()} | {border, integer()} | {userData, wx:wx_object()}.
-spec new(Width, Height, [Option]) -> wxSizerItem() when Width :: integer(), Height :: integer(), Option :: {proportion, integer()} | {flag, integer()} | {border, integer()} | {userData, wx:wx_object()}.
构造一个用于跟踪间隔符的 sizer 项目。
-spec setBorder(This, Border) -> ok when This :: wxSizerItem(), Border :: integer().
设置边框项目属性。
-spec setDimension(This, Pos, Size) -> ok when This :: wxSizerItem(), Pos :: {X :: integer(), Y :: integer()}, Size :: {W :: integer(), H :: integer()}.
设置分配给 sizer 的空间的位置和大小,并调整项目的位置和大小,使其在考虑对齐和边框的情况下位于该空间内。
-spec setFlag(This, Flag) -> ok when This :: wxSizerItem(), Flag :: integer().
设置标志项目属性。
-spec setInitSize(This, X, Y) -> ok when This :: wxSizerItem(), X :: integer(), Y :: integer().
设置为此项目分配的最小大小。
这与 setMinSize/3
相同,更喜欢使用另一个函数,因为它的名称更清晰。
-spec setMinSize(This, Size) -> ok when This :: wxSizerItem(), Size :: {W :: integer(), H :: integer()}.
设置为此项目分配的最小大小。
如果此项是窗口,则 size
也会传递给 wxWindow:setMinSize/2
。
-spec setMinSize(This, X, Y) -> ok when This :: wxSizerItem(), X :: integer(), Y :: integer().
这是一个重载的成员函数,为方便起见而提供。它与上述函数的不同之处仅在于它接受的参数。
-spec setProportion(This, Proportion) -> ok when This :: wxSizerItem(), Proportion :: integer().
设置比例项目属性。
-spec setRatio(This, Ratio) -> ok when This :: wxSizerItem(), Ratio :: number(); (This, Size) -> ok when This :: wxSizerItem(), Size :: {W :: integer(), H :: integer()}.
-spec setRatio(This, Width, Height) -> ok when This :: wxSizerItem(), Width :: integer(), Height :: integer().
设置比例项目属性。
-spec show(This, Show) -> ok when This :: wxSizerItem(), Show :: boolean().
设置显示项目属性,sizer 使用该属性来确定该项目是否要成为布局的一部分。
如果该项正在跟踪窗口,则会根据需要显示或隐藏该窗口。