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

这个类是 wxNotebook 类的扩展,允许在控件中显示树形结构的页面集。

一个经典的例子是 Netscape 的首选项对话框,它在左侧显示首选项部分的树,在右侧选择部分页面。

要使用该类,只需创建它并使用 insertPage/5insertSubPage/5addPage/4AddSubPage()(在 wx 中未实现)填充页面。

如果您的树的深度不超过 1 层,那么您可以简单地使用 addPage/4AddSubPage()(在 wx 中未实现)来顺序填充您的树,通过在每一步将页面或子页面添加到树的末尾。

请参阅

这个类派生自,并且可以使用以下类中的函数

wxWidgets 文档: wxTreebook

事件

从此类发出的事件类型

概要

函数

添加新页面。

循环浏览选项卡。

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

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

创建一个 treebook 控件。

删除所有页面。

销毁对象

展开(折叠) pageId 节点。

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

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

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

返回控件中的页面数。

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

返回给定页面的字符串。

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

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

在由 pagePos 指示的页面之前插入新页面。

在指定页面下插入子页面。

如果由 pageId 表示的页面已展开,则返回 true。

默认构造函数。

创建一个空的 wxTreebook

设置要使用的图像列表。

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

设置页面的宽度和高度。

设置给定页面的文本。

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

类型

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

函数

链接到此函数

addPage(This, Page, Text)

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

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

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

添加新页面。

该页面放置在所有其他页面之后的顶层。可以为页面指定 NULL 以创建空页面。

链接到此函数

advanceSelection(This)

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

等效于 advanceSelection(This, [])

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

循环浏览选项卡。

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

链接到此函数

assignImageList(This, ImageList)

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

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

请参阅

链接到此函数

changeSelection(This, Page)

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

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

此函数的行为类似于 setSelection/2,但 会生成页面更改事件。

有关详细信息,请参阅 overview_events_prog。

链接到此函数

create(This, Parent, Id)

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

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

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

创建一个 treebook 控件。

有关参数的描述,请参阅 new/3

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

删除所有页面。

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

销毁对象

链接到此函数

expandNode(This, PageId)

查看源代码
-spec expandNode(This, PageId) -> boolean() when This :: wxTreebook(), PageId :: integer().

等效于 expandNode(This, PageId, [])

-spec expandNode(This, PageId, [Option]) -> boolean()
                    when This :: wxTreebook(), PageId :: integer(), Option :: {expand, boolean()}.

展开(折叠) pageId 节点。

返回先前的状态。可能会生成页面更改事件(如果选定的页面位于折叠的分支下,则会自动选择其父级)。

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

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

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

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

请参阅

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

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

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

返回控件中的页面数。

链接到此函数

getPageImage(This, NPage)

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

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

链接到此函数

getPageText(This, NPage)

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

返回给定页面的字符串。

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

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

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

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

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

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

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

链接到此函数

insertPage(This, PagePos, Page, Text)

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

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

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

在由 pagePos 指示的页面之前插入新页面。

新页面放置在 pagePos 页面之前,并且位于同一级别。可以为页面指定 NULL 以创建空页面。

链接到此函数

insertSubPage(This, PagePos, Page, Text)

查看源代码
-spec insertSubPage(This, PagePos, Page, Text) -> boolean()
                       when
                           This :: wxTreebook(),
                           PagePos :: integer(),
                           Page :: wxWindow:wxWindow(),
                           Text :: unicode:chardata().

等效于 insertSubPage(This, PagePos, Page, Text, [])

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

在指定页面下插入子页面。

可以为页面指定 NULL 以创建空页面。

链接到此函数

isNodeExpanded(This, PageId)

查看源代码
-spec isNodeExpanded(This, PageId) -> boolean() when This :: wxTreebook(), PageId :: integer().

如果由 pageId 表示的页面已展开,则返回 true。

-spec new() -> wxTreebook().

默认构造函数。

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

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

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

创建一个空的 wxTreebook

链接到此函数

setImageList(This, ImageList)

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

设置要使用的图像列表。

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

请参阅

链接到此函数

setPageImage(This, Page, Image)

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

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

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

链接到此函数

setPageSize(This, Size)

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

设置页面的宽度和高度。

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

链接到此函数

setPageText(This, Page, Text)

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

设置给定页面的文本。

链接到此函数

setSelection(This, Page)

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

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

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

请参阅: wxBookCtrlBase:getSelection/1