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

书本控件是一种方便的方式,用于一次显示多个信息页面。

wxWidgets 有此控件的五种变体

这个抽象类是所有这些书本控件的父类,并提供它们的基本接口。这是一个纯虚类,因此您不能直接分配它。

参见: 概述 bookctrl

这个类是派生类,可以使用以下类中的函数

wxWidgets 文档: wxBookCtrlBase

摘要

函数

添加新页面。

循环浏览选项卡。

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

删除所有页面。

删除指定的页面以及关联的窗口。

返回当前选中的页面或 NULL。

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

返回控件中的页面数。

返回给定页面的字符串。

返回当前选中的页面,如果没有选中,则返回 wxNOT\_FOUND

返回指定位置的选项卡的索引,如果不存在,则返回 wxNOT\_FOUND

在指定位置插入新页面。

删除指定的页面,但不删除关联的窗口。

设置给定页面的文本。

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

类型

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

函数

链接到此函数

addPage(This, Page, Text)

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

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

-spec addPage(This, Page, Text, [Option]) -> boolean()
                 when
                     This :: wxBookCtrlBase(),
                     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 :: wxBookCtrlBase().

等同于 advanceSelection(This, [])

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

循环浏览选项卡。

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

链接到此函数

changeSelection(This, Page)

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

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

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

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

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

删除所有页面。

链接到此函数

deletePage(This, Page)

查看源代码
-spec deletePage(This, Page) -> boolean() when This :: wxBookCtrlBase(), Page :: integer().

删除指定的页面以及关联的窗口。

当删除当前选定的页面或索引顺序中位于其之前的页面时,调用此函数会生成页面更改事件,但删除最后一个页面时 会发送任何事件:虽然在这种情况下选择也会更改,但会变为无效,并且出于兼容性原因,控件永远不会生成具有无效选择索引的事件。

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

返回当前选中的页面或 NULL。

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

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

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

返回控件中的页面数。

链接到此函数

getPageText(This, NPage)

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

返回给定页面的字符串。

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

返回当前选中的页面,如果没有选中,则返回 wxNOT\_FOUND

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

-spec hitTest(This, Pt) -> Result
                 when
                     Result :: {Res :: integer(), Flags :: integer()},
                     This :: wxBookCtrlBase(),
                     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 :: wxBookCtrlBase(),
                        Index :: integer(),
                        Page :: wxWindow:wxWindow(),
                        Text :: unicode:chardata().

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

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

在指定位置插入新页面。

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

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

参见: addPage/4

链接到此函数

removePage(This, Page)

查看源代码
-spec removePage(This, Page) -> boolean() when This :: wxBookCtrlBase(), Page :: integer().

删除指定的页面,但不删除关联的窗口。

有关此函数生成的事件的说明,请参见 deletePage/2

链接到此函数

setPageText(This, Page, Text)

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

设置给定页面的文本。

链接到此函数

setSelection(This, Page)

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

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

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

参见: getSelection/1