查看源代码 wxTreebook (wx v2.4.3)
这个类是 wxNotebook
类的扩展,允许在控件中显示树形结构的页面集。
一个经典的例子是 Netscape 的首选项对话框,它在左侧显示首选项部分的树,在右侧选择部分页面。
要使用该类,只需创建它并使用 insertPage/5
、insertSubPage/5
、addPage/4
、AddSubPage()
(在 wx 中未实现)填充页面。
如果您的树的深度不超过 1 层,那么您可以简单地使用 addPage/4
和 AddSubPage()
(在 wx 中未实现)来顺序填充您的树,通过在每一步将页面或子页面添加到树的末尾。
请参阅
这个类派生自,并且可以使用以下类中的函数
wxWidgets 文档: wxTreebook
事件
从此类发出的事件类型
概要
函数
添加新页面。
循环浏览选项卡。
设置页面控件的图像列表并获取该列表的所有权。
将选择更改为给定页面,返回先前的选择。
创建一个 treebook 控件。
删除所有页面。
销毁对象
展开(折叠) pageId
节点。
返回当前选定的页面或 NULL。
返回关联的图像列表,可能为 NULL。
返回给定页面位置的窗口。
返回控件中的页面数。
返回给定页面的图像索引。
返回给定页面的字符串。
返回当前选定的页面,如果未选择任何页面,则返回 wxNOT\_FOUND
。
返回指定位置的选项卡的索引,如果没有,则返回 wxNOT\_FOUND
。
在由 pagePos
指示的页面之前插入新页面。
在指定页面下插入子页面。
如果由 pageId
表示的页面已展开,则返回 true。
默认构造函数。
创建一个空的 wxTreebook
。
设置要使用的图像列表。
设置给定页面的图像索引。
设置页面的宽度和高度。
设置给定页面的文本。
将选择设置为给定页面,返回先前的选择。
类型
-type wxTreebook() :: wx:wx_object().
函数
-spec addPage(This, Page, Text) -> boolean() when This :: wxTreebook(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().
-spec addPage(This, Page, Text, [Option]) -> boolean() when This :: wxTreebook(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata(), Option :: {bSelect, boolean()} | {imageId, integer()}.
添加新页面。
该页面放置在所有其他页面之后的顶层。可以为页面指定 NULL 以创建空页面。
-spec advanceSelection(This) -> ok when This :: wxTreebook().
-spec advanceSelection(This, [Option]) -> ok when This :: wxTreebook(), Option :: {forward, boolean()}.
循环浏览选项卡。
对此函数的调用会生成页面更改事件。
-spec assignImageList(This, ImageList) -> ok when This :: wxTreebook(), ImageList :: wxImageList:wxImageList().
设置页面控件的图像列表并获取该列表的所有权。
请参阅
-spec changeSelection(This, Page) -> integer() when This :: wxTreebook(), Page :: integer().
将选择更改为给定页面,返回先前的选择。
此函数的行为类似于 setSelection/2
,但 不
会生成页面更改事件。
有关详细信息,请参阅 overview_events_prog。
-spec create(This, Parent, Id) -> boolean() when This :: wxTreebook(), Parent :: wxWindow:wxWindow(), Id :: integer().
-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.
销毁对象
-spec expandNode(This, PageId) -> boolean() when This :: wxTreebook(), PageId :: integer().
-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().
返回控件中的页面数。
-spec getPageImage(This, NPage) -> integer() when This :: wxTreebook(), NPage :: integer().
返回给定页面的图像索引。
-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
。
-spec insertPage(This, PagePos, Page, Text) -> boolean() when This :: wxTreebook(), PagePos :: integer(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().
-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 以创建空页面。
-spec insertSubPage(This, PagePos, Page, Text) -> boolean() when This :: wxTreebook(), PagePos :: integer(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().
-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 以创建空页面。
-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
。
-spec setImageList(This, ImageList) -> ok when This :: wxTreebook(), ImageList :: wxImageList:wxImageList().
设置要使用的图像列表。
它不获取图像列表的所有权,您必须自己删除它。
请参阅
-spec setPageImage(This, Page, Image) -> boolean() when This :: wxTreebook(), Page :: integer(), Image :: integer().
设置给定页面的图像索引。
image
是使用 setImageList/2
设置的图像列表的索引。
-spec setPageSize(This, Size) -> ok when This :: wxTreebook(), Size :: {W :: integer(), H :: integer()}.
设置页面的宽度和高度。
注意:此方法目前未为 wxGTK 实现。
-spec setPageText(This, Page, Text) -> boolean() when This :: wxTreebook(), Page :: integer(), Text :: unicode:chardata().
设置给定页面的文本。
-spec setSelection(This, Page) -> integer() when This :: wxTreebook(), Page :: integer().
将选择设置为给定页面,返回先前的选择。
请注意,对此函数的调用会生成页面更改事件,如果您不希望生成这些事件,请使用 changeSelection/2
函数。