查看源码 wxTreeCtrl (wx v2.4.3)

树形控件以层级结构显示信息,其中的项可以展开以显示更多项。

树形控件中的项通过 wxTreeItemId(在 wx 中未实现)句柄引用,可以通过调用 wxTreeItemId::IsOk()(在 wx 中未实现)来测试其有效性。

一个类似的控件,在 GTK+ 和 macOS 上都有完全原生的实现,是 wxDataViewTreeCtrl(在 wx 中未实现)。

要拦截来自树形控件的事件,请使用 wxTreeEvent 中描述的事件表宏。

样式

此类支持以下样式

  • wxTR_EDIT_LABELS: 如果希望用户能够编辑树形控件中的标签,请使用此样式。

  • wxTR_NO_BUTTONS: 为了方便记录不绘制按钮的情况。

  • wxTR_HAS_BUTTONS: 使用此样式在父项的左侧显示 + 和 - 按钮。

  • wxTR_TWIST_BUTTONS: 选择 +/- 按钮的替代样式,并显示旋转(“扭曲”)箭头。目前,此样式仅在 Microsoft Windows Vista 及更高版本的 Windows 下实现,在其他平台下将被忽略,因为启用它等同于使用 wxSystemThemedControl::EnableSystemTheme() (在 wx 中未实现)。

  • wxTR_NO_LINES: 使用此样式隐藏垂直级别连接线。

  • wxTR_FULL_ROW_HIGHLIGHT: 使用此样式使背景色和选择高亮扩展到树形控件窗口的整个水平行。(除非您也指定 wxTR_NO_LINES,否则此标志在 Windows 下将被忽略。)

  • wxTR_LINES_AT_ROOT: 使用此样式显示指向根节点的连接线(除非也使用 wxTR_NO_LINES,在这种情况下不显示任何线)。请注意,在 MSW 版本中,如果省略此样式,则不仅不显示线条,而且也不显示用于展开根项的按钮,这可能会出乎意料,因此建议始终使用它。

  • wxTR_HIDE_ROOT: 使用此样式隐藏根节点的显示,实际上导致第一级节点显示为一系列根节点。

  • wxTR_ROW_LINES: 使用此样式在显示的行之间绘制对比边框。

  • wxTR_HAS_VARIABLE_ROW_HEIGHT: 使用此样式使行高仅足以容纳内容。如果未设置,则所有行都使用最大的行高。默认情况下,此标志未设置。仅限通用。

  • wxTR_SINGLE: 为了方便记录一次只能选择一个项的情况。选择另一个项将导致当前选择(如果有)被取消选择。这是默认设置。

  • wxTR_MULTIPLE: 使用此样式允许选择一系列项。如果选择了第二个范围,则当前范围(如果有)将被取消选择。

  • wxTR_DEFAULT_STYLE: 最接近特定工具包的本机控件默认值的标志集。

另请参见 overview_windowstyles。

Win32 说明:

wxTreeCtrl 类在 Win32 下使用系统库 comctl32.dll 中实现的标准通用树形视图控件。已知此库的某些版本在处理树形控件颜色方面存在错误:常见的症状是展开的项在其后留下黑色(或其他颜色不正确)的背景,特别是对于使用非默认背景色的控件。建议的解决方案是将 comctl32.dll 升级到较新版本:请参阅 http://www.microsoft.com/downloads/details.aspx?familyid=cb2cf3a2-8025-4e8f-8511-9b476a8d35d2

参见

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

wxWidgets 文档:wxTreeCtrl

事件

此类发出的事件类型

摘要

函数

将根节点添加到树中,返回新项。

在由 parent 标识的分支末尾追加一个项,返回新项 ID。

设置常规图像列表。

设置状态图像列表。

折叠给定项。

折叠给定项并删除所有子项。

创建树形控件。

删除指定的项。

删除控件中的所有项。

删除给定项的所有子项(但不包括该项本身)。

销毁对象

开始编辑给定 item 的标签。

滚动和/或展开项以确保给定的项可见。

展开给定项。

检索 item 的边界矩形。

返回分支中的项数。

返回控件中的项数。

返回当前用于编辑标签的编辑控件。

返回第一个子项;调用 getNextChild/3 获取下一个子项。

返回第一个可见项。

返回常规图像列表。

返回当前树形控件的缩进。

返回项的背景色。

返回与项关联的树形项数据。

返回项标签的字体。

获取指定的项图像。

返回项的父项。

返回项标签。

返回项标签的颜色。

返回项的最后一个子项(如果该项没有子项,则返回无效的树形项)。

返回下一个子项;调用 getFirstChild/2 获取第一个子项。

返回指定项的下一个兄弟项;调用 getPrevSibling/2 获取上一个兄弟项。

返回下一个可见项,如果此项是最后一个可见项,则返回无效项。

返回指定项的上一个兄弟项;调用 getNextSibling/2 获取下一个兄弟项。

返回上一个可见项,如果此项是第一个可见项,则返回无效项。

返回树形控件的根项。

返回选择项,如果没有选择项,则返回无效项。

用当前选择的项填充传入的树形项数组。

返回状态图像列表(从中获取应用程序定义的状态图像)。

计算给定 point 下的项(如果有),返回此点的树形项 ID 以及额外信息 flags

在给定项 (previous) 之后插入一个项。

如果给定项处于粗体状态,则返回 true。

如果项已展开(仅当它有子项时才有意义),则返回 true。

如果项被选中,则返回 true。

如果项有效,则返回 true。

如果项在屏幕上可见,则返回 true。

如果项有子项,则返回 true。

默认构造函数。

构造函数,创建并显示树形控件。

将一个项作为 parent 的第一个子项追加,返回新的项 ID。

将指定的项滚动到视图中。

选择给定的项。

设置常规图像列表。

设置树形控件的缩进。

设置项的背景颜色。

如果 bold 参数为 true,则使项以粗体字体显示,或者将其重置为正常状态。

设置项客户端数据。

为项目提供拖放操作的视觉反馈,这在从外部拖动某些内容到树形控件上时很有用(与树形控件内部的 DnD 操作相反,后者已在内部实现)。

设置项目的字体。

强制显示项目旁边的按钮。

设置指定项目的图像。

设置项目标签。

设置项目文本的颜色。

设置状态图像列表(从中获取应用程序定义的状态图像)。

设置与树形控件显示相关的模式标志。

使用 OnCompareItems() 对给定项目的子项进行排序(在 wx 中未实现)。

在折叠和展开状态之间切换给定项目。

在选中和未选中状态之间切换给定项目。

从当前选定的项目(如果有)中删除选择。

如果控件没有 wxTR\_MULTIPLE 样式,则此函数行为与 unselect/1 相同;如果它有此样式,则删除所有项目的选择。

取消选择给定项目。

类型

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

函数

-spec addRoot(This, Text) -> integer() when This :: wxTreeCtrl(), Text :: unicode:chardata().

等效于 addRoot(This, Text, [])

-spec addRoot(This, Text, [Option]) -> integer()
                 when
                     This :: wxTreeCtrl(),
                     Text :: unicode:chardata(),
                     Option :: {image, integer()} | {selectedImage, integer()} | {data, term()}.

将根节点添加到树中,返回新项。

imageselImage 参数是普通图像列表中的索引,分别指定用于未选中和选中项目的图像。 如果 image > -1 且 selImage 为 -1,则选中和未选中的项目都使用相同的图像。

此函数的链接

appendItem(This, Parent, Text)

查看源代码
-spec appendItem(This, Parent, Text) -> integer()
                    when This :: wxTreeCtrl(), Parent :: integer(), Text :: unicode:chardata().

等效于 appendItem(This, Parent, Text, [])

-spec appendItem(This, Parent, Text, [Option]) -> integer()
                    when
                        This :: wxTreeCtrl(),
                        Parent :: integer(),
                        Text :: unicode:chardata(),
                        Option :: {image, integer()} | {selectedImage, integer()} | {data, term()}.

在由 parent 标识的分支末尾追加一个项,返回新项 ID。

imageselImage 参数是普通图像列表中的索引,分别指定用于未选中和选中项目的图像。 如果 image > -1 且 selImage 为 -1,则选中和未选中的项目都使用相同的图像。

此函数的链接

assignImageList(This, ImageList)

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

设置常规图像列表。

使用此方法分配的图像列表将由 wxTreeCtrl 自动删除(即它拥有该列表的所有权)。

参见:setImageList/2

此函数的链接

assignStateImageList(This, ImageList)

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

设置状态图像列表。

使用此方法分配的图像列表将由 wxTreeCtrl 自动删除(即它拥有该列表的所有权)。

参见:setStateImageList/2

-spec collapse(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

折叠给定项。

此函数的链接

collapseAndReset(This, Item)

查看源代码
-spec collapseAndReset(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

折叠给定项并删除所有子项。

-spec create(This, Parent) -> boolean() when This :: wxTreeCtrl(), Parent :: wxWindow:wxWindow().

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

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

创建树形控件。

有关详细信息,请参阅 new/2

-spec delete(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

删除指定的项。

将生成一个 EVT_TREE_DELETE_ITEM 事件。

此函数可能会导致后续调用 getNextChild/3 失败。

-spec deleteAllItems(This) -> ok when This :: wxTreeCtrl().

删除控件中的所有项。

此函数为每个被删除的项目生成 wxEVT_TREE_DELETE_ITEM 事件,包括如果显示根项目(即,除非使用 wxTR_HIDE_ROOT 样式)。

此函数的链接

deleteChildren(This, Item)

查看源代码
-spec deleteChildren(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

删除给定项的所有子项(但不包括该项本身)。

将为每个被删除的项目生成一个 wxEVT_TREE_DELETE_ITEM 事件。

如果您已调用 setItemHasChildren/3,则可能需要再次调用它,因为 deleteChildren/2 不会自动清除设置。

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

销毁对象

-spec editLabel(This, Item) -> wxTextCtrl:wxTextCtrl() when This :: wxTreeCtrl(), Item :: integer().

开始编辑给定 item 的标签。

此函数生成一个 EVT_TREE_BEGIN_LABEL_EDIT 事件,该事件可以被否决,从而不显示用于就地编辑的文本控件。

如果用户更改了标签(即,如果他/她没有按 ESC 或在不更改的情况下离开文本控件),则会发送一个 EVT_TREE_END_LABEL_EDIT 事件,该事件也可以被否决。

参见:wxTreeEvent

此函数的链接

ensureVisible(This, Item)

查看源代码
-spec ensureVisible(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

滚动和/或展开项以确保给定的项可见。

即使窗口被冻结,也可以使用此方法,并且此方法也能正常工作(请参阅 wxWindow:freeze/1)。

-spec expand(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

展开给定项。

此函数的链接

getBoundingRect(This, Item)

查看源代码
-spec getBoundingRect(This, Item) -> Result
                         when
                             Result ::
                                 {Res :: boolean(),
                                  Rect ::
                                      {X :: integer(), Y :: integer(), W :: integer(), H :: integer()}},
                             This :: wxTreeCtrl(),
                             Item :: integer().

等效于 getBoundingRect(This, Item, [])

-spec getBoundingRect(This, Item, [Option]) -> Result
                         when
                             Result ::
                                 {Res :: boolean(),
                                  Rect ::
                                      {X :: integer(), Y :: integer(), W :: integer(), H :: integer()}},
                             This :: wxTreeCtrl(),
                             Item :: integer(),
                             Option :: {textOnly, boolean()}.

检索 item 的边界矩形。

如果 textOnly 为 true,则仅返回项目标签周围的矩形,否则也会考虑项目的图像。

如果成功检索到矩形,则返回值为 true;如果未检索到(在这种情况下,rect 不会更改),则返回值为 false,例如,如果该项目当前不可见。

请注意,矩形坐标是逻辑坐标,而不是物理坐标。 因此,例如,如果树形图具有水平滚动条且其位置不是 0,则 x 坐标可能为负数。

此函数的链接

getChildrenCount(This, Item)

查看源代码
-spec getChildrenCount(This, Item) -> integer() when This :: wxTreeCtrl(), Item :: integer().

等效于 getChildrenCount(This, Item, [])

-spec getChildrenCount(This, Item, [Option]) -> integer()
                          when
                              This :: wxTreeCtrl(),
                              Item :: integer(),
                              Option :: {recursively, boolean()}.

返回分支中的项数。

如果 recursively 为 true,则返回后代总数,否则仅计算一级子项。

-spec getCount(This) -> integer() when This :: wxTreeCtrl().

返回控件中的项数。

-spec getEditControl(This) -> wxTextCtrl:wxTextCtrl() when This :: wxTreeCtrl().

返回当前用于编辑标签的编辑控件。

如果当前没有正在编辑的标签,则返回 NULL。

注意:此功能目前仅在 wxMSW 上实现。

此函数的链接

getFirstChild(This, Item)

查看源代码
-spec getFirstChild(This, Item) -> Result
                       when
                           Result :: {Res :: integer(), Cookie :: integer()},
                           This :: wxTreeCtrl(),
                           Item :: integer().

返回第一个子项;调用 getNextChild/3 获取下一个子项。

对于此枚举函数,您必须传入一个“cookie”参数,该参数对于应用程序是不透明的,但对于库来说是使这些函数可重入(即,允许在同一个对象上同时进行多个枚举)所必需的。 传递给 getFirstChild/2getNextChild/3 的 cookie 应该是相同的变量。

如果没有其他子项,则返回一个无效的树项目(即,wxTreeItemId::IsOk()(在 wx 中未实现)返回 false)。

参见

此函数的链接

getFirstVisibleItem(This)

查看源代码
-spec getFirstVisibleItem(This) -> integer() when This :: wxTreeCtrl().

返回第一个可见项。

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

返回常规图像列表。

-spec getIndent(This) -> integer() when This :: wxTreeCtrl().

返回当前树形控件的缩进。

此函数的链接

getItemBackgroundColour(This, Item)

查看源代码
-spec getItemBackgroundColour(This, Item) -> wx:wx_colour4()
                                 when This :: wxTreeCtrl(), Item :: integer().

返回项的背景色。

此函数的链接

getItemData(This, Item)

查看源代码
-spec getItemData(This, Item) -> term() when This :: wxTreeCtrl(), Item :: integer().

返回与项关联的树形项数据。

此函数的链接

getItemFont(This, Item)

查看源代码
-spec getItemFont(This, Item) -> wxFont:wxFont() when This :: wxTreeCtrl(), Item :: integer().

返回项标签的字体。

如果未通过 setItemFont/3 为指定的 item 显式设置字体,则返回无效的 ?wxNullFont 字体。 wxWindow:getFont/1 可用于检索用于没有任何特定项目的全局树形控件字体。

此函数的链接

getItemImage(This, Item)

查看源代码
-spec getItemImage(This, Item) -> integer() when This :: wxTreeCtrl(), Item :: integer().

等效于 getItemImage(This, Item, [])

-spec getItemImage(This, Item, [Option]) -> integer()
                      when This :: wxTreeCtrl(), Item :: integer(), Option :: {which, wx:wx_enum()}.

获取指定的项图像。

which 的值可以是

  • ?wxTreeItemIcon_Normal:获取常规项目图像。

  • ?wxTreeItemIcon_Selected:获取选定的项目图像(即,当前选中项目时显示的图像)。

  • ?wxTreeItemIcon_Expanded:获取展开的图像(这仅对有子项的项目才有意义 - 然后,当该项目展开时会显示此图像,当该项目折叠时会显示常规图像)。

  • ?wxTreeItemIcon_SelectedExpanded:获取选定的展开图像(当展开的项目当前被选中时显示)。

此函数的链接

getItemParent(This, Item)

查看源代码
-spec getItemParent(This, Item) -> integer() when This :: wxTreeCtrl(), Item :: integer().

返回项的父项。

此函数的链接

getItemText(This, Item)

查看源代码
-spec getItemText(This, Item) -> unicode:charlist() when This :: wxTreeCtrl(), Item :: integer().

返回项标签。

此函数的链接

getItemTextColour(This, Item)

查看源代码
-spec getItemTextColour(This, Item) -> wx:wx_colour4() when This :: wxTreeCtrl(), Item :: integer().

返回项标签的颜色。

此函数的链接

getLastChild(This, Item)

查看源代码
-spec getLastChild(This, Item) -> integer() when This :: wxTreeCtrl(), Item :: integer().

返回项的最后一个子项(如果该项没有子项,则返回无效的树形项)。

参见

此函数的链接

getNextChild(This, Item, Cookie)

查看源代码
-spec getNextChild(This, Item, Cookie) -> Result
                      when
                          Result :: {Res :: integer(), Cookie :: integer()},
                          This :: wxTreeCtrl(),
                          Item :: integer(),
                          Cookie :: integer().

返回下一个子项;调用 getFirstChild/2 获取第一个子项。

对于此枚举函数,您必须传入一个“cookie”参数,该参数对于应用程序是不透明的,但对于库来说是使这些函数可重入(即,允许在同一个对象上同时进行多个枚举)所必需的。 传递给 getFirstChild/2getNextChild/3 的 cookie 应该是相同的。

如果没有其他子项,则返回无效的树项目。

参见:getFirstChild/2

此函数的链接

getNextSibling(This, Item)

查看源代码
-spec getNextSibling(This, Item) -> integer() when This :: wxTreeCtrl(), Item :: integer().

返回指定项的下一个兄弟项;调用 getPrevSibling/2 获取上一个兄弟项。

如果没有其他同级项目,则返回无效的树项目。

参见:getPrevSibling/2

此函数的链接

getNextVisible(This, Item)

查看源代码
-spec getNextVisible(This, Item) -> integer() when This :: wxTreeCtrl(), Item :: integer().

返回下一个可见项,如果此项是最后一个可见项,则返回无效项。

注意:item 本身必须可见。

此函数的链接

getPrevSibling(This, Item)

查看源代码
-spec getPrevSibling(This, Item) -> integer() when This :: wxTreeCtrl(), Item :: integer().

返回指定项的上一个兄弟项;调用 getNextSibling/2 获取下一个兄弟项。

如果没有其他子项,则返回无效的树项目。

参见:getNextSibling/2

此函数的链接

getPrevVisible(This, Item)

查看源代码
-spec getPrevVisible(This, Item) -> integer() when This :: wxTreeCtrl(), Item :: integer().

返回上一个可见项,如果此项是第一个可见项,则返回无效项。

注意:item 本身必须可见。

-spec getRootItem(This) -> integer() when This :: wxTreeCtrl().

返回树形控件的根项。

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

返回选择项,如果没有选择项,则返回无效项。

此函数仅适用于没有 wxTR_MULTIPLE 样式的控件,对于具有此样式的控件,请使用 getSelections/1;如果需要单个项目,请使用 GetFocusedItem()(在 wx 中未实现)。

-spec getSelections(This) -> Result
                       when Result :: {Res :: integer(), Selection :: [integer()]}, This :: wxTreeCtrl().

用当前选择的项填充传入的树形项数组。

仅当控件具有 wxTR_MULTIPLE 样式时,才能调用此函数。

返回选定项目的数量。

此函数的链接

getStateImageList(This)

查看源代码
-spec getStateImageList(This) -> wxImageList:wxImageList() when This :: wxTreeCtrl().

返回状态图像列表(从中获取应用程序定义的状态图像)。

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

计算给定 point 下的项(如果有),返回此点的树形项 ID 以及额外信息 flags

flags 是以下各项的位列表

  • wxTREE_HITTEST_ABOVE: 在客户区上方。

  • wxTREE_HITTEST_BELOW: 在客户区下方。

  • wxTREE_HITTEST_NOWHERE: 在客户区中,但在最后一个项目下方。

  • wxTREE_HITTEST_ONITEMBUTTON: 在与项目关联的按钮上。

  • wxTREE_HITTEST_ONITEMICON: 在与项目关联的位图上。

  • wxTREE_HITTEST_ONITEMINDENT: 在与项目关联的缩进中。

  • wxTREE_HITTEST_ONITEMLABEL: 在与项目关联的标签(字符串)上。

  • wxTREE_HITTEST_ONITEMRIGHT: 在项目右侧的区域中。

  • wxTREE_HITTEST_ONITEMSTATEICON: 在处于用户定义状态的树视图项目的状态图标上。

  • wxTREE_HITTEST_TOLEFT: 在客户区的右侧。

  • wxTREE_HITTEST_TORIGHT: 在客户区的左侧。

此函数的链接

insertItem(This, Parent, Previous, Text)

查看源代码
-spec insertItem(This, Parent, Previous, Text) -> integer()
                    when
                        This :: wxTreeCtrl(),
                        Parent :: integer(),
                        Previous :: integer(),
                        Text :: unicode:chardata().

等效于 insertItem(This, Parent, Previous, Text, [])

-spec insertItem(This, Parent, Previous, Text, [Option]) -> integer()
                    when
                        This :: wxTreeCtrl(),
                        Parent :: integer(),
                        Previous :: integer(),
                        Text :: unicode:chardata(),
                        Option :: {image, integer()} | {selImage, integer()} | {data, term()}.

在给定项 (previous) 之后插入一个项。

imageselImage 参数是普通图像列表中的索引,分别指定用于未选中和选中项目的图像。 如果 image > -1 且 selImage 为 -1,则选中和未选中的项目都使用相同的图像。

-spec isBold(This, Item) -> boolean() when This :: wxTreeCtrl(), Item :: integer().

如果给定项处于粗体状态,则返回 true。

参见:setItemBold/3

此函数的链接

isExpanded(This, Item)

查看源代码
-spec isExpanded(This, Item) -> boolean() when This :: wxTreeCtrl(), Item :: integer().

如果项已展开(仅当它有子项时才有意义),则返回 true。

此函数的链接

isSelected(This, Item)

查看源代码
-spec isSelected(This, Item) -> boolean() when This :: wxTreeCtrl(), Item :: integer().

如果项被选中,则返回 true。

-spec isTreeItemIdOk(Item) -> boolean() when Item :: integer().

如果项有效,则返回 true。

-spec isVisible(This, Item) -> boolean() when This :: wxTreeCtrl(), Item :: integer().

如果项在屏幕上可见,则返回 true。

此函数的链接

itemHasChildren(This, Item)

查看源代码
-spec itemHasChildren(This, Item) -> boolean() when This :: wxTreeCtrl(), Item :: integer().

如果项有子项,则返回 true。

-spec new() -> wxTreeCtrl().

默认构造函数。

-spec new(Parent) -> wxTreeCtrl() when Parent :: wxWindow:wxWindow().

等效于 new(Parent, [])

-spec new(Parent, [Option]) -> wxTreeCtrl()
             when
                 Parent :: wxWindow:wxWindow(),
                 Option ::
                     {id, integer()} |
                     {pos, {X :: integer(), Y :: integer()}} |
                     {size, {W :: integer(), H :: integer()}} |
                     {style, integer()} |
                     {validator, wx:wx_object()}.

构造函数,创建并显示树形控件。

参见:create/3

此函数的链接

prependItem(This, Parent, Text)

查看源代码
-spec prependItem(This, Parent, Text) -> integer()
                     when This :: wxTreeCtrl(), Parent :: integer(), Text :: unicode:chardata().

等效于 prependItem(This, Parent, Text, [])

-spec prependItem(This, Parent, Text, [Option]) -> integer()
                     when
                         This :: wxTreeCtrl(),
                         Parent :: integer(),
                         Text :: unicode:chardata(),
                         Option :: {image, integer()} | {selectedImage, integer()} | {data, term()}.

将一个项作为 parent 的第一个子项追加,返回新的项 ID。

imageselImage 参数是普通图像列表中的索引,分别指定用于未选中和选中项目的图像。 如果 image > -1 且 selImage 为 -1,则选中和未选中的项目都使用相同的图像。

-spec scrollTo(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

将指定的项滚动到视图中。

请注意,此方法在窗口被冻结时不起作用(请参阅 wxWindow:freeze/1),至少在 MSW 下不起作用。

参见:ensureVisible/2

此函数的链接

selectItem(This, Item)

查看源代码
-spec selectItem(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

等效于 selectItem(This, Item, [])

-spec selectItem(This, Item, [Option]) -> ok
                    when This :: wxTreeCtrl(), Item :: integer(), Option :: {select, boolean()}.

选择给定的项。

在多选控件中,如果 select 的值为 false,则也可以用于取消选择当前选定的项目。

请注意,调用此方法将生成 wxEVT_TREE_SEL_CHANGINGwxEVT_TREE_SEL_CHANGED 事件,并且更改可能会被前一个事件处理程序否决。

此函数的链接

setImageList(This, ImageList)

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

设置常规图像列表。

此方法分配的图像列表将 不会wxTreeCtrl 的析构函数删除,您必须自己删除它。

参见:assignImageList/2

此函数的链接

setIndent(This, Indent)

查看源代码
-spec setIndent(This, Indent) -> ok when This :: wxTreeCtrl(), Indent :: integer().

设置树形控件的缩进。

此函数的链接

setItemBackgroundColour(This, Item, Col)

查看源代码
-spec setItemBackgroundColour(This, Item, Col) -> ok
                                 when This :: wxTreeCtrl(), Item :: integer(), Col :: wx:wx_colour().

设置项的背景颜色。

此函数的链接

setItemBold(This, Item)

查看源代码
-spec setItemBold(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

等效于 setItemBold(This, Item, [])

-spec setItemBold(This, Item, [Option]) -> ok
                     when This :: wxTreeCtrl(), Item :: integer(), Option :: {bold, boolean()}.

如果 bold 参数为 true,则使项以粗体字体显示,或者将其重置为正常状态。

参见:isBold/2

此函数的链接

setItemData(This, Item, Data)

查看源代码
-spec setItemData(This, Item, Data) -> ok when This :: wxTreeCtrl(), Item :: integer(), Data :: term().

设置项客户端数据。

请注意,先前与 item 关联的客户端数据(如果有)不会 由此函数释放,因此,除非您自己删除旧的项目数据指针,否则多次对同一个项目调用此函数将导致内存泄漏。

此函数的链接

setItemDropHighlight(This, Item)

查看源代码
-spec setItemDropHighlight(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

等同于 setItemDropHighlight(This, Item, [])

此函数的链接

setItemDropHighlight/3

查看源代码
-spec setItemDropHighlight(This, Item, [Option]) -> ok
                              when
                                  This :: wxTreeCtrl(),
                                  Item :: integer(),
                                  Option :: {highlight, boolean()}.

为项目提供拖放操作的视觉反馈,这在从外部拖动某些内容到树形控件上时很有用(与树形控件内部的 DnD 操作相反,后者已在内部实现)。

此函数的链接

setItemFont(This, Item, Font)

查看源代码
-spec setItemFont(This, Item, Font) -> ok
                     when This :: wxTreeCtrl(), Item :: integer(), Font :: wxFont:wxFont().

设置项目的字体。

树中的所有项目应具有相同的高度以避免文本剪切,因此所有项目的字体高度应相同,尽管字体属性可能有所不同。

参见:setItemBold/3

此函数的链接

setItemHasChildren(This, Item)

查看源代码
-spec setItemHasChildren(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

等同于 setItemHasChildren(This, Item, [])

-spec setItemHasChildren(This, Item, [Option]) -> ok
                            when This :: wxTreeCtrl(), Item :: integer(), Option :: {has, boolean()}.

强制显示项目旁边的按钮。

这对于允许用户展开当前没有任何子项的项目很有用,但仅在需要时才添加它们,从而最大限度地减少内存使用量和加载时间。

此函数的链接

setItemImage(This, Item, Image)

查看源代码
-spec setItemImage(This, Item, Image) -> ok
                      when This :: wxTreeCtrl(), Item :: integer(), Image :: integer().

等同于 setItemImage(This, Item, Image, [])

-spec setItemImage(This, Item, Image, [Option]) -> ok
                      when
                          This :: wxTreeCtrl(),
                          Item :: integer(),
                          Image :: integer(),
                          Option :: {which, wx:wx_enum()}.

设置指定项目的图像。

有关 which 参数的说明,请参阅 getItemImage/3

此函数的链接

setItemText(This, Item, Text)

查看源代码
-spec setItemText(This, Item, Text) -> ok
                     when This :: wxTreeCtrl(), Item :: integer(), Text :: unicode:chardata().

设置项目标签。

此函数的链接

setItemTextColour(This, Item, Col)

查看源代码
-spec setItemTextColour(This, Item, Col) -> ok
                           when This :: wxTreeCtrl(), Item :: integer(), Col :: wx:wx_colour().

设置项目文本的颜色。

此函数的链接

setStateImageList(This, ImageList)

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

设置状态图像列表(从中获取应用程序定义的状态图像)。

此方法分配的图像列表将 不会wxTreeCtrl 的析构函数删除,您必须自己删除它。

参见:assignStateImageList/2

此函数的链接

setWindowStyle(This, Styles)

查看源代码
-spec setWindowStyle(This, Styles) -> ok when This :: wxTreeCtrl(), Styles :: integer().

设置与树形控件显示相关的模式标志。

新模式立即生效。

注意:仅限通用;MSW 忽略更改。

此函数的链接

sortChildren(This, Item)

查看源代码
-spec sortChildren(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

使用 OnCompareItems() 对给定项目的子项进行排序(在 wx 中未实现)。

您应该重写该方法以更改排序顺序(默认值为区分大小写的升序字母顺序)。

-spec toggle(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

在折叠和展开状态之间切换给定项目。

此函数的链接

toggleItemSelection(This, Item)

查看源代码
-spec toggleItemSelection(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

在选中和未选中状态之间切换给定项目。

仅适用于多选控件。

-spec unselect(This) -> ok when This :: wxTreeCtrl().

从当前选定的项目(如果有)中删除选择。

-spec unselectAll(This) -> ok when This :: wxTreeCtrl().

如果控件没有 wxTR\_MULTIPLE 样式,则此函数行为与 unselect/1 相同;如果它有此样式,则删除所有项目的选择。

此函数的链接

unselectItem(This, Item)

查看源代码
-spec unselectItem(This, Item) -> ok when This :: wxTreeCtrl(), Item :: integer().

取消选择给定项目。

仅适用于多选控件。