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

wxChoicebook 是一个类似于 wxNotebook 的类,但它使用 wxChoice 控件来显示标签,而不是选项卡。

有关此类的使用文档,请参阅基本抽象类 wxBookCtrl。您也可以使用 page_samples_notebook 来查看 wxChoicebook 的实际应用。

wxChoicebook 允许使用 wxBookCtrlBase::GetControlSizer(),从而允许程序在选择控件旁边添加其他控件。当屏幕空间受限时(通常在使用 wxChoicebook 时),这特别有用。

样式

此类支持以下样式

  • wxCHB_DEFAULT:根据当前平台选择标签的默认位置(但目前在任何地方都是相同的,即 wxCHB_TOP)。

  • wxCHB_TOP:将标签放置在页面区域上方。

  • wxCHB_LEFT:将标签放置在左侧。

  • wxCHB_RIGHT:将标签放置在右侧。

  • wxCHB_BOTTOM:将标签放置在页面区域下方。

参见

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

wxWidgets 文档: wxChoicebook

事件

从此类发出的事件类型

摘要

函数

添加一个新页面。

循环浏览选项卡。

为页面控件设置图像列表,并取得该列表的所有权。

将选择更改为给定页面,返回先前的选择。

创建已使用默认构造函数构造的 choicebook 控件。

删除所有页面。

销毁对象

返回当前选定的页面,如果未选择则返回 NULL。

返回关联的图像列表,可能为 NULL。

返回给定页面位置的窗口。

返回控件中的页面数量。

返回给定页面的图像索引。

返回给定页面的字符串。

返回当前选定的页面,如果未选择,则返回 wxNOT\_FOUND

返回指定位置的选项卡索引,如果没有则返回 wxNOT\_FOUND

在指定位置插入一个新页面。

构造一个 choicebook 控件。

设置要使用的图像列表。

设置给定页面的图像索引。

设置页面的宽度和高度。

设置给定页面的文本。

将选择设置为给定页面,返回先前的选择。

类型

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

函数

链接到此函数

addPage(This, Page, Text)

查看源代码
-spec addPage(This, Page, Text) -> boolean()
                 when This :: wxChoicebook(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().

等效于 addPage(This, Page, Text, [])

-spec addPage(This, Page, Text, [Option]) -> boolean()
                 when
                     This :: wxChoicebook(),
                     Page :: wxWindow:wxWindow(),
                     Text :: unicode:chardata(),
                     Option :: {bSelect, boolean()} | {imageId, integer()}.

添加一个新页面。

页面必须将书本控件本身作为父项,并且之前不得添加到此控件中。

如果 select 为 true,则对此函数的调用将生成页面更改和页面已更改事件,但在插入第一个页面时不会生成(因为在这种情况下没有要从中切换的先前页面选择,因此例如否决此类事件是没有意义的)。

返回:如果成功,则返回 true,否则返回 false。

备注:不要删除页面,它将由书本控件删除。

参见:insertPage/5

链接到此函数

advanceSelection(This)

查看源代码
-spec advanceSelection(This) -> ok when This :: wxChoicebook().

等效于 advanceSelection(This, [])

-spec advanceSelection(This, [Option]) -> ok when This :: wxChoicebook(), Option :: {forward, boolean()}.

循环浏览选项卡。

对此函数的调用会生成页面更改事件。

链接到此函数

assignImageList(This, ImageList)

查看源代码
-spec assignImageList(This, ImageList) -> ok
                         when This :: wxChoicebook(), ImageList :: wxImageList:wxImageList().

为页面控件设置图像列表,并取得该列表的所有权。

参见

链接到此函数

changeSelection(This, Page)

查看源代码
-spec changeSelection(This, Page) -> integer() when This :: wxChoicebook(), Page :: integer().

将选择更改为给定页面,返回先前的选择。

此函数的行为与 setSelection/2 相同,但 会生成页面更改事件。

有关更多信息,请参见 overview_events_prog。

链接到此函数

create(This, Parent, Id)

查看源代码
-spec create(This, Parent, Id) -> boolean()
                when This :: wxChoicebook(), Parent :: wxWindow:wxWindow(), Id :: integer().

等效于 create(This, Parent, Id, [])

-spec create(This, Parent, Id, [Option]) -> boolean()
                when
                    This :: wxChoicebook(),
                    Parent :: wxWindow:wxWindow(),
                    Id :: integer(),
                    Option ::
                        {pos, {X :: integer(), Y :: integer()}} |
                        {size, {W :: integer(), H :: integer()}} |
                        {style, integer()}.

创建已使用默认构造函数构造的 choicebook 控件。

-spec deleteAllPages(This) -> boolean() when This :: wxChoicebook().

删除所有页面。

-spec destroy(This :: wxChoicebook()) -> ok.

销毁对象

-spec getCurrentPage(This) -> wxWindow:wxWindow() when This :: wxChoicebook().

返回当前选定的页面,如果未选择则返回 NULL。

-spec getImageList(This) -> wxImageList:wxImageList() when This :: wxChoicebook().

返回关联的图像列表,可能为 NULL。

参见

-spec getPage(This, Page) -> wxWindow:wxWindow() when This :: wxChoicebook(), Page :: integer().

返回给定页面位置的窗口。

-spec getPageCount(This) -> integer() when This :: wxChoicebook().

返回控件中的页面数量。

链接到此函数

getPageImage(This, NPage)

查看源代码
-spec getPageImage(This, NPage) -> integer() when This :: wxChoicebook(), NPage :: integer().

返回给定页面的图像索引。

链接到此函数

getPageText(This, NPage)

查看源代码
-spec getPageText(This, NPage) -> unicode:charlist() when This :: wxChoicebook(), NPage :: integer().

返回给定页面的字符串。

-spec getSelection(This) -> integer() when This :: wxChoicebook().

返回当前选定的页面,如果未选择,则返回 wxNOT\_FOUND

请注意,此方法在从 EVT_BOOKCTRL_PAGE_CHANGED 处理程序调用时,可能会根据平台返回先前或新选择的页面,因此在这种情况下应使用 wxBookCtrlEvent:getSelection/1

-spec hitTest(This, Pt) -> Result
                 when
                     Result :: {Res :: integer(), Flags :: integer()},
                     This :: wxChoicebook(),
                     Pt :: {X :: integer(), Y :: integer()}.

返回指定位置的选项卡索引,如果没有则返回 wxNOT\_FOUND

如果 flags 参数为非 NULL,则还会返回点在选项卡内的位置。

返回:返回从零开始的选项卡索引,如果在指定位置没有选项卡,则返回 wxNOT_FOUND

链接到此函数

insertPage(This, Index, Page, Text)

查看源代码
-spec insertPage(This, Index, Page, Text) -> boolean()
                    when
                        This :: wxChoicebook(),
                        Index :: integer(),
                        Page :: wxWindow:wxWindow(),
                        Text :: unicode:chardata().

等效于 insertPage(This, Index, Page, Text, [])

-spec insertPage(This, Index, Page, Text, [Option]) -> boolean()
                    when
                        This :: wxChoicebook(),
                        Index :: integer(),
                        Page :: wxWindow:wxWindow(),
                        Text :: unicode:chardata(),
                        Option :: {bSelect, boolean()} | {imageId, integer()}.

在指定位置插入一个新页面。

返回:如果成功,则返回 true,否则返回 false。

备注:不要删除页面,它将由书本控件删除。

参见:addPage/4

-spec new() -> wxChoicebook().

构造一个 choicebook 控件。

-spec new(Parent, Id) -> wxChoicebook() when Parent :: wxWindow:wxWindow(), Id :: integer().

等效于 new(Parent, Id, [])

-spec new(Parent, Id, [Option]) -> wxChoicebook()
             when
                 Parent :: wxWindow:wxWindow(),
                 Id :: integer(),
                 Option ::
                     {pos, {X :: integer(), Y :: integer()}} |
                     {size, {W :: integer(), H :: integer()}} |
                     {style, integer()}.
链接到此函数

setImageList(This, ImageList)

查看源代码
-spec setImageList(This, ImageList) -> ok
                      when This :: wxChoicebook(), ImageList :: wxImageList:wxImageList().

设置要使用的图像列表。

它不取得图像列表的所有权,您必须自己删除它。

参见

链接到此函数

setPageImage(This, Page, Image)

查看源代码
-spec setPageImage(This, Page, Image) -> boolean()
                      when This :: wxChoicebook(), Page :: integer(), Image :: integer().

设置给定页面的图像索引。

image 是使用 setImageList/2 设置的图像列表中的索引。

链接到此函数

setPageSize(This, Size)

查看源代码
-spec setPageSize(This, Size) -> ok
                     when This :: wxChoicebook(), Size :: {W :: integer(), H :: integer()}.

设置页面的宽度和高度。

注意:此方法目前在 wxGTK 中未实现。

链接到此函数

setPageText(This, Page, Text)

查看源代码
-spec setPageText(This, Page, Text) -> boolean()
                     when This :: wxChoicebook(), Page :: integer(), Text :: unicode:chardata().

设置给定页面的文本。

链接到此函数

setSelection(This, Page)

查看源代码
-spec setSelection(This, Page) -> integer() when This :: wxChoicebook(), Page :: integer().

将选择设置为给定页面,返回先前的选择。

请注意,对此函数的调用会生成页面更改事件,如果您不希望生成这些事件,请使用 changeSelection/2 函数。

参见:getSelection/1