CTreeCtrl

  • 个 “ tree view 控 件 ” 是 一 个 用 来 显 示 项 的 层 次 列 表 的 窗

    口 , 比 如 一 个 文 档 中的 标 题 , 索 引 中 的 项 , 或 磁 盘 中 的 文 件 和 目 录 。 每 一 个 项 都 包 括 一 个 标 签 和 一个 可 选 的 位 图 图 像 , 每 一 个 项 还 有 一 个 与 其 相 关 的 子 项 的 列 表 。 单 击 一 个 项 , 用 户 可 以 展 开 或 缩 进 该 项 的 相 关 子 项 的 列 表 。

CTreeCtrl 类 提 供 了 W indows 通 用 tree view 控 件 的 性 能 。 这 个 控 件 ( 也 就 是

CTreeCtrl 类 ) 只 对 运 行 在 W indows 95 和 W indows NT 3.51 或 更 高 版 本 下 的 程序 来 说 是 可 用 的 。

有 关 使 用 CTreeCtrl 的 更 多 信 息 , 参 见 “ V isual C++ 程 序 员 指 南 ” 中 的 “ 控 件 主题 ” 和 “ 使 用 CTreeCtrl” 。

#include <afxcmn.h>

请 参 阅 CImageList

CTreeCtrl 类 成 员

Construction

CTreeCtrl

构 造 一 个

CTreeCtrl 对 象

Create

创 建 一 个

tree view 控 件 并 将 它 与 一 个 CTreeCtrl 对

象 连 接

Attributes

GetCount 获 取 与 一 个 treeview 控 件 相 关 联 的 tree 项 的 数 目

GetIndent 获 取 一 个 tree view 项 对 它 的 父 项 的 偏 移 ( 以 像 素

表 示 )

SetIndent 设 置 一 个 tree view 项 对 它 的 父 项 的 偏 移 ( 以 像 素

表 示 )

GetImageList 获 取 与 一 个 tree view 控 件 相 关 联 的 图 像 列 表 的 句

SetImageList 设 置 与 一 个 tree view 控 件 相 关 联 的 图 像 列 表 的 句

GetN e xtItem 获 取 与 指 定 的 关 系 匹 配 的 下 一 个 tree view 项ItemHasChildren 如 果 指 定 项 有 子 项 则 返 回 非 零 值 GetChildItem 获 取 一 个 指 定 tree view 项 的 子 项GetNextSiblingItem 获 取 指 定 tree view 项 的 下 一 个 兄 弟 项GetPrevSiblingItem 获 取 指 定 tree view 项 的 前 一 个 兄 弟 项GetParentItem 获 取 指 定 tree view 项 的 父 项GetFirstVisibleItem 获 取 指 定 tree view 项 的 第 一 个 可 视 项GetNextVisibleItem 获 取 指 定 tree view 项 的 下 一 个 可 视 项GetPrevVisibleItem 获 取 指 定 tree view 项 的 前 一 个 可 视 项GetSelectedItem 获 取 当 前 被 选 择 的 tree view 项

续 表

GetDropHilightItem 获 取 一 次 拖 放 操 作 的 目 标

GetRootItem 获 取 指 定 tree view 项 的 根

GetItem 获 取 一 个 指 定 tree view 项 的 属 性

SetItem 设 置 一 个 指 定 tree view 项 的 属 性

GetItemState 返 回 一 个 项 的 状 态

SetItemState 设 置 一 个 项 的 状 态GetItemImage 获 取 与 一 个 项 相 关 联 的 图 像SetItemImage 设 置 与 一 个 项 相 关 联 的 图 像GetItemText 返 回 一 个 项 的 文 本

SetItemText 设 置 一 个 项 的 文 本

GetItemData 返 回 与 一 个 项 关 联 的 32 位 的 应 用 程 序 指 定 值SetItemData 设 置 与 一 个 项 关 联 的 32 位 的 应 用 程 序 指 定 值G etItemRect 获 取 一 个 tree view 项 的 边 界 矩 形

G etEditControl 获 取 用 来 编 辑 指 定 tree view 项 的 编 辑 控 件 的 句 柄GetVisibleCount 获 取 与 一 个 tree view 项 关 联 的 可 视 tree 项 的 编 号GetToolTips 获 取 一 个 tree view 控 件 使 用 的 子 ToolTip 控 件 的 的

句 柄

SetToo lT ips 设 置 一 个 tree view 控 件 的 子 ToolTip 控 件 的 的 句 柄

GetBkColor 获 取 控 件 的 当 前 背 景 颜 色

SetBkColor 设 置 控 件 的 背 景 颜 色

续表

GetItemHeight 获 取 tree view 项 的 当 前 高 度SetItemHeight 设 置 tree view 项 的 当 前 高 度GetTextColor 获 取 控 件 的 当 前 文 本 颜 色

SetTextColor 设 置 控 件 的 文 本 颜 色

SetInsertMark 设 置 一 个 tree view 控 件 的 插 入 标 记

GetCheck 获 取 一 个 tree 控 件 项 的 核 选 状 态

SetCheck 设 置 一 个 tree 控 件 项 的 核 选 状 态

GetInsertMarkColor 获 取 tree view 用 来 绘 制 插 入 标 记 的 颜 色

SetInsertMarkColor 设 置 tree view 用 来 绘 制 插 入 标 记 的 颜 色

O perations

InsertItem 在 一 个 tree view 控 件 中 插 入 一 个 新 项 。

DeleteItem 从 一 个 tree view 控 件 中 删 除 一 个 项DeleteAllItems 从 一 个 tree view 控 件 中 删 除 所 有 的 项Expand 展 开 或 收 缩 指 定 tree view 项 的 子 项

Select 选 择 , 在 视 中 滚 动 , 或 重 画 一 个 指 定 的 tree view

SelectItem 选 择 一 个 指 定 的 tree view 项

SelectDropTarget 重 画 作 为 一 次 拖 放 操 作 的 目 标 的 tree 项

SelectSetFirstVisible 选 择 一 个 指 定 的 tree view 项 作 为 第 一 个 可 视 项

续 表

EditLabel 现 场 编 辑 一 个 指 定 的 tree view 项

HitTest 返 回 与 CtreeCtrl 关 联 的 光 标 的 当 前 位 置CreateDragImage 为 指 定 的 tree view 项 创 建 一 个 拖 动 位 图SortChildren 排 序 一 个 给 定 父 项 的 子 项

EnsureVisible 确 保 一 个 tree view 项 在 它 的 tree view 控 件 中 是 可

视 的

SortChildrenCB 使 用 一 个 由 应 用 程 序 定 义 的 排 序 函 数 来 排 列 一 个 给

定 父 项 的 子 项

成 员 函 数

CTreeCtrl::Create

BOOL Create( DWORD dwStyle , const RECT& rect , CWnd* pParentWnd , UINT

nID );

返 回 值

如 果 初 始 化 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

dwStyle

指 定 tree view 控 件 的 风 格 。 可 以 对 这 个 控 件 使 用 tree view 控 件 风 格 的 任 意组 合 。

rect

指 定 tree view 控 件 的 尺 寸 和 位 置 。 此 参 数 可 以 是 一 个 CRect 对 象 或 一 个

RECT 结 构 。

pParentWnd

指 定 tree view 控 件 的 父 窗 口 , 通 常 是 一 个 CDialog 。 它 不 能 是 NULL 。

nID

说 明

指 定 tree view 控 件 的 ID 。

构 造 一 个 CTreeCtrl 要 分 两 步 。 首 先 调 用 构 造 函 数 , 然 后 调 用 Create 来 创 建 这个 tree view 控 件 并 将 它 与 该 CTeeCtrl 对 象 连 接 。

下 面 的 风 格 可 以 应 用 到 一 个 tree view 控 件 :

  • TVS_HASLINES tree view 控 件 的 子 项 与 它 们 的 父 项 之 间 用 线

    连 接 。

  • TVS_LINESATROOT tree view 控 件 用 线 连 接 子 项 和 根 项 。

  • TVS_HASBUTTONS tree view 在 每 一 个 父 项 的 左 边 添 加 一 个 按

    钮 。

  • TVS_EDITLABELS tree view 控 件 允 许 用 户 编 辑 tree view 项 的 标

    签 。

  • TVS_SHOWSELALWAYS 当 tree view 失 去 焦 点 时 , 使 被 选 择 的 项

    仍 然 保持 被 选 择 。

  • TVS_DISABLEDRAGDROP 该 tree view 控 件 被 禁 止 发 送 。

  • TVN_BEGINDRAG 通 知 消 息 。

  • TVS_NOTOOLTIPS tree view 控 件 使 用 工 具 提 示 。

  • TVS_SINGLEEXPAND 当 使 用 这 个 风 格 时 , 改 变 在 tree view 中

    的 选 择 将导 致 正 被 选 择 的 项 展 开 , 而 没 有 被 选 择 的 项 收 缩 。 如 果 用 鼠 标 单 击 被 选 择的 项 , 并 且 该 项 是 关 闭 的 , 则 该 项 就 会 展 开 。 如 果 该 被 选 择 的 项 被 单 击 时是 打 开 的 , 则 它 就 会 收 缩 。

请 参 阅 CTreeCtrl:: CTreeCtrl, Tree View Control Window Styles in the Paltform SDK

CTreeCtrl::CreateDragImage

CImageList* CreateDragImage( HTREEITEM hItem );

返 回 值

如 果 成 功 , 则 返 回 指 向 图 像 列 表 的 指 针 , 拖 动 位 图 将 被 加 入 到 其 中 去 ; 否 则 返回 NULL 。

hItem

要 被 拖 动 的 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 为 一 个 tree view 控 件 中 的 给 定 项 创 建 一 个 拖 动 位 图 , 为 位 图 创建 一 个 图 像 列 表 , 并 将 位 图 添 加 到 该 图 像 列 表 中 。 当 项 被 拖 动 时 , 应 用 程 序 用图 像 - 列 表 函 数 来 显 示 图 像 。

CImageList 对 象 是 持 久 的 , 当 使 用 完 它 时 你 必 须 删 除 它 。 例 如 :

CImageList * pImageList = MyTreeCtrl.CreateDragImage( nItem, &point );

...

...

delete pImageList;

请 参 阅 CTreeCtrl::SelectDropTarget, CTreeCtrl::GetDropHilightItem, CTreeCtrl::SetImageList

CTreeCtrl::CTreeCtrl

CTreeCtrl( ) ;

此 函 数 用 来 构 造 一 个 CTreeCtrl 对 象 。

请 参 阅 CTreeCtrl::Create

CTreeCtrl::DeleteAllItems

BOOL DeleteAllItems( );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

说 明

此 成 员 函 数 用 来 从 tree view 控 件 中 删 除 所 有 的 项 。

请 参 阅 CTreeCtrl::DeleteItem, CTreeCtrl::InsertItem

CTreeCtrl::DeleteItem

BOOL DeleteItem( HTREEITEM hItem );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

要 被 删 除 的 tree view 项 的 句 柄 。 如 果 hItem 的 值 是 TVI_ROOT , 则 所 有的 项 都 被 从 此 tree view 控 件 中 删 除 。

说 明

此 成 员 函 数 用 来 从 tree view 控 件 中 删 除 一 个 项 。

请 参 阅 CTreeCtrl::DeleteAllItems, CTreeCtrl::InsertItem

CTreeCtrl::EditLabel

CEdir* EditLabel( HTREEITEM hItem );

返 回 值

如 果 成 功 则 返 回 一 个 指 向 CEdit 对 象 的 指 针 , 该 对 象 被 用 来 编 辑 该 项 的 文 本 ; 否 则 返 回 NULL 。

参 数

hItem

要 被 编 辑 的 tree 项 的 句 柄 。

说 明

此 成 员 函 数 开 始 现 场 编 辑 指 定 项 的 文 本 。 通 过 用 一 个 单 行 编 辑 控 件 所 包 含 的 文本 替 换 该 项 的 文 本 来 完 成 编 辑 。

请 参 阅 CTreeCtrl::GetEditControl

CTreeCtrl::EnsureVisible

BOOL EnsureVisible ( HTREEITEM hItem );

返 回 值

如 果 系 统 滚 动 tree view 控 件 中 的 项 以 保 证 指 定 项 可 见 则 返 回 TRU E 。 否 则 , 返回 值 为 FALSE 。

参 数

hItem

要 被 变 为 可 见 的 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 保 证 一 个 tree view 项 是 可 见 的 。 如 果 必 要 , 函 数 扩 展 父 项 或 滚动 tree view 扩 展 以 使 该 项 可 见 。

请 参 阅 CTreeCtrl::GetFirstVisibleItem, CTreeCtrl::GetVisibleCount

CTreeCtrl::Expand

BOOL Expand( HTREEETEM hItem , UINT nColor );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

要 被 扩 展 的 tree 项 的 句 柄 。

nCode

用 来 指 示 要 被 进 行 的 动 作 的 标 志 。 这 个 标 志 可 以 是 下 列 值 之 一 :

  • TVE_COLLAPSE 收 缩 列 表 。

  • TVE_COLLAPSERESET 收 缩 列 表 并 删 除 子 项 。

  • TVE_EXPAND 展 开 列 表 。

  • TVE_TOGGLE 如 果 列 表 当 前 是 展 开 的 则 收 缩 列 表 ; 反 之 则

    展 开 列 表 。

说 明

此 成 员 函 数 用 来 展 开 或 收 缩 给 定 父 项 的 子 项 列 表 ( 如 果 有 ) 。

请 参 阅 CTreeCtrl::EnsureVisible

CTreeCtrl::GetBkColor

COLORREF GetBkColor( ) const;

返 回 值

返 回 一 个 代 表 当 前 背 景 颜 色 的 COLORREF 值 。 如 果 这 个 值 是 -1 , 则 控 件 正 使用 系 统 的 颜 色 作 为 背 景 色 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TVM_GETBKCOLOR 的 行 为 , 就 像 在“ PlatformSDK ” 中 描 述 的 一 样 。

请 参 阅 CTreeCtrl::SetBkColor

CTreeCtrl::GetCheck

BOOL GetCheck( HTREEITEM hItem ) const;

返 回 值

如 果 该 tree 控 件 项 是 被 核 选 的 , 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

要 获 取 有 关 其 状 态 信 息 的 HTREEITEM 。

说 明

此 成 员 函 数 用 来 获 取 一 个 项 的 核 选 状 态 。

请 参 阅 CTreeCtrl::SetCheck

CTreeCtrl::GetChileItem

HTREEITEM GetChildItem( HTREEITEM hItem );

返 回 值

如 果 成 功 则 返 回 该 子 项 的 句 柄 ; 否 则 返 回 NULL 。

参 数

hItem

  • 个 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 获 取 由 hItem 指 定 的 项 的 子 项 。

请 参 阅 CTreeCtrl::GetItem, CTreeCtrl::GetParentItem, CTreeCtrl::SortChildren

CTreeCtrl::GetCount

UINT GetCount( )

返 回 值

返 回 此 tree view 控 件 中 的 项 的 数 目 ; 否 则 返 回 -1 。

此 成 员 函 数 用 来 获 取 一 个 tree view 控 件 中 的 项 的 数 目 。

请 参 阅 CTreeCtrl::GetVisibleCount

CTreeCtrl::GetDropHilightItem

HTREEITEM GetDropHilightItem( );

返 回 值

如 果 成 功 则 返 回 项 的 句 柄 ; 否 则 返 回 NULL 。

说 明

此 成 员 函 数 用 来 获 取 一 次 拖 放 操 作 的 目 标 。

请 参 阅 CTreeCtrl::SelectDropTarget

CTreeCtrl::GetEditControl

CEdit* GetEditControl( )

如 果 成 功 则 返 回 一 个 指 向 用 来 编 辑 项 的 文 本 的 编 辑 控 件 的 指 针 ; 否 则 返 回

NULL 。

说 明

此 成 员 函 数 用 来 获 取 被 用 来 编 辑 一 个 tree view 项 的 文 本 的 编 辑 控 件 的 句 柄 。

请 参 阅 CTreeCtrl::EditLabel

CTreeCtrl::GetFirstVisibleItem

HTREEITEM GetFirstVisibleItem( );

返 回 值

如 果 成 功 则 返 回 第 一 个 可 视 项 的 句 柄 ; 否 则 返 回 NULL 。

说 明

此 成 员 函 数 用 来 获 取 该 tree view 控 件 中 的 第 一 个 可 视 项 的 句 柄 。

请 参 阅 CTreeCtrl::GetNextVisibleItem, CTreeCtrl::GetPrivVisibleItem, CTreeCtrl::EnsureVisible, CTreeCtrl::GetVisibleCount

CTreeCtrl::GetImageList

CImageList* GetImageList( UINT nImage )

返 回 值

如 果 成 功 则 返 回 指 向 控 件 的 图 像 列 表 的 指 针 ; 否 则 返 回 NULL 。

参 数

nImage

要 获 取 的 图 像 列 表 的 类 型 。 该 图 像 列 表 可 以 是 下 列 类 型 之 一 :

  • TVSIL_NORMAL 获 取 常 规 的 图 像 列 表 , 它 包 含 了 该 tree view

    项 的被 选 择 的 和 不 被 选 择 的 图 像 。

  • TVSIL_STATE 获 取 状 态 图 像 列 表 ,它 包 含 了 处 于 用 户 定 义

    状 态 的 tree view 项 的 图 像 。

说 明

此 成 员 函 数 用 来 获 取 与 该 tree view 控 件 关 联 的 常 规 或 状 态 图 像 列 表 的 句 柄 。 一个 tree view 控 件 中 的 每 一 个 项 都 有 一 对 图 像 与 之 关 联 。 当 项 被 选 择 时 就 显 示 其中 某 一 个 图 像 , 当 项 没 有 被 选 择 时 则 显 示 另 一 个 图 像 。 例 如 , 当 一 个 项 被 选 择时 显 示 为 一 个 打 开 的 文 件 夹 , 而 当 它 没 有 被 选 择 时 则 显 示 为 一 个 关 闭 的 文 件

夹 。

有 关 图 像 列 表 的 更 多 信 息 , 参 见 CImageList 类 。

请 参 阅 CImageList, CTreeCtrl::SetImageList

CTreeCtrl::GetIndent

UINT GetIndent( );

返 回 值

返 回 以 像 素 表 示 的 缩 进 量 。

说 明

此 成 员 函 数 用 来 获 取 子 项 相 对 于 父 项 缩 进 的 量 。

请 参 阅 CTreeCtrl::SetIndent CTreeCtrl::GetInsertMarkColor COLORREF GetInsertMar k Color( ) const;

返 回 值

返 回 一 个 包 含 当 前 插 入 编 辑 颜 色 的 COLORREF 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TVM_GETINSERTMARKCOLOR 的 行 为 , 就像 在 “ PlatformSDK” 中 描 述 的 一 样 。

请 参 阅 CTreeCtrl::SetInsertMarkColor

CTreeCtrl::GetItem

BOOL GetItem( TVITEM* pItem );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

pItem

是 一 个 指 向 TVITEM 结 构 的 指 针 , 就 像 在 “ Platfor SDK” 中 描 述 的 一 样 。

说 明

此 成 员 函 数 用 来 获 取 指 定 tree view 项 的 属 性 。

请 参 阅 CTreeCtrl::SetItem, CTreeCtrl::GetChildItem, CTreeCtrl::GetNextItem, CTreeCtrl::SelectItem

CTreeCtrl::GetItemData

DWORD GetItemData( HTREEITEM hItem ) const;

返 回 值

返 回 一 个 与 由 hItem 指 定 的 项 关 联 的 32 位 的 应 用 程 序 指 定 值 。

参 数

hItem

要 获 取 其 数 据 的 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 获 取 与 指 定 项 关 联 32 位 的 应 用 程 序 指 定 值 。

请 参 阅 CTreeCtrl::SetItemData

CTreeCtrl::GetItemHeight

SHORT GetItemHeight( ) const;

返 回 值

返 回 以 像 素 表 示 的 项 的 高 度 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TVM_GETITEMHEIGHT 的 行 为 , 就 像 在“ PlatformSDK ” 中 描 述 的 一 样 。

请 参 阅 CTreeCtrl::SetItemHeight

CTreeCtrl::GetItemImage

BOOL GetItemImage( HTREEITEM hItem , int& nImage , int& nSelectedImage ) const;

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

要 获 取 其 图 像 的 项 的 句 柄 。

nImage

  • 个 用 来 接 收 该 tree view 控 件 的 图 像 列 表 中 的 该 项 图 像

    的 索 引 的 整 数 。

nSelectedImage

  • 个 用 来 接 收 该 tree view 控 件 的 图 像 列 表 中 的 该 项 的 被

    选 择 图 像 的 索 引 的整 数 。

说 明

在 一 个 tree view 控 件 中 每 一 个 项 有 一 对 与 之 关 联 的 位 图 图 像 。 图 像 显 示 在 一 个项 的 标 签 的 左 边 。 其 中 一 个 项 是 在 项 被 选 择 的 时 候 显 示 的 , 另 一 个 项 是 在 项 没有 被 选 择 的 时 候 显 示 的 。 例 如 , 当 一 个 项 被 选 择 时 它 可 能 被 显 示 为 一 个 打 开 的文 件 夹 , 而 当 它 没 有 被 选 择 时 则 显 示 为 一 个 关 闭 的 文 件 夹 。

此 成 员 函 数 用 来 接 收 项 的 图 像 和 被 选 择 图 像 在 该 tree view 控 件 的 图 像 列 表 中 的索 引 。

请 参 阅 CTreeCtrl::SetItemImage, CImageList

CTreeCtrl::GetItemRect

BOOL GetItemRect( HTREEITEM hItem , LPRECT lpRect , BOOL bTextOnly );

返 回 值

如 果 项 是 可 视 的 则 返 回 非 零 值 , 以 及 包 含 在 lpRect 中 的 边 界 矩 形 。 否 则 , 返 回

0 和 没 有 被 初 始 化 的 lpRect

参 数

hItem

一 个 tree view 项 的 句 柄 。

lpRec t

指 向 一 个 用 来 接 收 边 界 矩 形 的 RECT 结 构 的 指 针 。 其 中 的 坐 标 是 相 对 于该 tree view 控 件 的 左 上 角 的 。

bTextOnly

如 果 这 个 参 数 是 非 零 值 , 则 边 界 矩 形 值 包 括 项 的 文 本 。 否 则 , 它 包 括 该项 在 tree view 控 件 所 占 据 的 整 个 一 行 。

说 明

此 成 员 函 数 用 来 获 取 hItem 的 边 界 矩 形 , 并 确 定 该 项 是 否 是 可 视 的 。

请 参 阅 CTreeCtrl::GetVisibleCount, CTreeCtrl::GetNextVisibleItem, CTreeCtrl::GetPrevVisibleItem, CTreeCtrl::EnsureVisible

CTreeCtrl::GetItemState

UINT GetItemState( HTREEITEM hItem , UINT nStateMask ) const;

返 回 值

返 回 一 个 用 来 指 定 项 的 状 态 的 UINT 。 可 能 取 值 的 信 息 , 参 见

CTreeCtrl::GetItem 。

参 数

hIte m

要 获 取 其 状 态 的 项 的 句 柄 。

nStateMask

用 来 指 定 要 获 取 哪 些 状 态 的 掩 码 , 有 关 nStateMask 的 可 能 取 值 的 更 多 信息 , 参 见 “ Platform SDK ” 中 的 有 关 TVITEM 结 构 的 state 和 state M ask 成 员 的 讨 论 。

说 明

此 成 员 函 数 返 回 由 hItem 指 定 的 项 的 状 态 。

请 参 阅 CTreeCtrl::GetItem

CTreeCtrl::GetItemText

CString GetItemText( HTREEITEM hItem ) const;

返 回 值

返 回 一 个 包 含 该 项 的 文 本 的 CString 对 象 。

参 数

hItem

要 获 取 其 文 本 的 项 的 句 柄 。

说 明

此 成 员 函 数 返 回 由 hItem 指 定 的 项 的 文 本 。

请 参 阅 CTreeCtrl::SetItemText

CTreeCtrl::GetNextItem

HTREEITEM GetNextItem( HTREEITEM hItem , UINT nCode );

返 回 值

如 果 成 功 则 返 回 下 一 个 项 的 句 柄 ; 否 则 返 回 NULL 。

参 数

hItem

  • 个 tree 项 的 句 柄 。

nCode

  • 个 用 来 指 示 与 hItem 的 关 系 的 类 型 的 标 志 。 这 个 标 志

    可 以 是 下 列 值 之 一 :

    • TVGN_CARET 获 取 当 前 被 选 择 的 项 。

    • TVGN_CHILD 获 取 第 一 个 子 项 。 hItem 参 数 必 须 是 NULL

    • TVGN_DROPHILITE 获 取 是 一 次 拖 放 操 作 的 目 标 的 项 。

    • TVGN_FIRSTVISIBLE 获 取 第 一 个 可 见 的 项 。

    • TVGN_TEXT 获 取 下 一 个 兄 弟 项 。

    • TVGN_NEXTVISIBLE 获 取 跟 随 在 指 定 项 之 后 的 下 一 个 可

      视 项 。

    • TVGN_PARENT 获 取 指 定 项 的 父 项 。

    • TVGN_PREVIOUS 获 取 前 一 个 兄 弟 项 。

    • TVGN_PREVIOUSVISIBLE 获 取 在 指 定 项 之 前 的 第 一 个 可 视

      项 。

    • TVGN_ROOT 获 取 根 项 的 第 一 个 子 项 , 指 定 项 是 该 根 项

      的 一 个 部 分 。

说 明

此 成 员 函 数 用 来 获 取 与 nItem 具 有 由 nCode 参 数 指 定 的 关 系 的 tree view 项。

请 参 阅 CTreeCtrl::SetItem, CTreeCtrl::GetChildItem, CTreeCtrl::Getitem, CTreeCtrl::SelectItem, CTreeCtrl::GetPrevSiblingItem

CTreeCtrl::GetNextSiblingItem

HTREEITEM GgeNextSiblingItem ) HTREEITM hItem );

返 回 值

返 回 下 一 个 兄 弟 项 的 句 柄 ; 否 则 返 回 NULL 。

参 数

hItem

一 个 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 获 取 下 一 个 兄 弟 项 。

请 参 阅 CTreeCtrl::GetPrevSiblingItem, CTreeCtrl::GetChildItem, CTreeCtrl::GetItem, CTreeCtrl::SelectItem, CTreeCtrl::GetParentItem

CTreeCtrl::GetNextVisibleItem

HTREEITEM GetNextVisibleItem( HTREEITEM hItem );

返 回 值

返 回 下 一 个 可 视 项 的 句 柄 ; 否 则 返 回 NULL 。

参 数

hItem

一 个 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 获 取 hItem 的 下 一 个 可 视 项 。

请 参 阅 CTreeCtrl::GetPrevVisibleItem, CTreeCtrl::GetFirstVisibleItem, CTreeCtrl::EnsureVisible, CTreeCtrl::GetParentItem

CTreeCtrl::GetParentItem

HTREEITEM GetParentItem( HTREEITEM hItem );

返 回 值

返 回 父 项 的 句 柄 ; 否 则 返 回 NULL 。

参 数

hItem

一 个 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 获 取 hItem 的 父 项 。

请 参 阅 CTreeCtrl::GetChildItem, CTreeCtrl::GetRoolItem, CTreeCtrl::GetItem, CTreeCtrl::GetPrevSiblingItem

CTreeCtrl::GetPrevSiblingItem

HTREEITEM GetPrevSiblingItem(HTREEITEM hItem );

返 回 值

返 回 前 一 个 兄 弟 项 的 句 柄 ; 否 则 返 回 NULL 。

参 数

hItem

一 个 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 获 取 hItem 的 前 一 个 兄 弟 项 。

请 参 阅 CTreeCtrl::GetNextSiblingItem, CTreeCtrl::GetParentItem, CTreeCtrl::GetChildItem

CTreeCtrl::GetPrevVisibleItem

HTREEITEM GetPrevVisibleItem( HTREEITEM hItem );

返 回 值

返 回 前 一 个 可 视 项 的 句 柄 ; 否 则 返 回 NULL 。

参 数

hItem

一 个 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 获 取 hItem 的 前 一 个 可 视 项 。

请 参 阅 CTreeCtrl::GetNextVisibleItem, CTreeCtrl::GetFirstVisibleItem, CTreeCtrl::EnsureVisible, CTreeCtrl::GetVisibleCount

CTreeCtrl::GetRootItem

HTREEITEM GetRootItem( );

返 回 值

返 回 根 项 的 句 柄 ; 否 则 返 回 NULL 。

说 明

此 成 员 函 数 用 来 获 取 hItem 的 根 项 。

请 参 阅 CTreeCtrl::GetItem, CTreeCtrl::GetChildItem, CTreeCtrl::GetParentItem

CTreeCtrl::GetSelectedItem

HTREEITEM GetSelectedItem( );

返 回 值

返 回 被 选 择 项 的 句 柄 ; 否 则 返 回 NULL 。

说 明

此 成 员 函 数 用 来 获 取 此 tree view 控 件 中 的 当 前 被 选 择 项 。

请 参 阅 CTreeCtrl::Select, CTreeCtrl::SelectDropTarget, CTreeCtrl::GetDropHilightItem

CTreeCtrl::GetTextColor

COLORREF GetTextColor( ) const;

返 回 值

返 回 一 个 代 表 当 前 文 本 颜 色 的 COLORREF 值 。 如 果 这 个 值 是 -1 , 则 控 件 是 使用 系 统 颜 色 作 为 文 本 颜 色 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TVM_GETTEXTCOLOR 的 行 为 , 就 像 在“ PlatformSDK ” 中 描 述 的 一 样 。

请 参 阅 CTreeCtrl::SetTextColor

CTreeCtrl::GetToolTips

CToolTipCtrl* GetToolTips( );

返 回 值

返 回 一 个 指 向 被 tree 控 件 使 用 的 CToolTipCtrl 对 象 的 指 针 。 如 果 Create 成 员 函数 使 用 了 TVS_NOTOOLTIPS 风 格 , 则 不 会 有 工 具 提 示 控 件 被 使 用 , 此 时 返 回值 为 NULL 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TVM_GETTOOLTIPS 的 行 为 , 就 像 在“ PlatformSDK ” 中 描 述 的 一 样 。

GetToolTips 的 MFC 实 现 返 回 一 个 被 tree 控 件 使 用 的 CToolTipCtrl 对 象 , 而 不是 返 回 指 向 一 个 工 具 提 示 控 件 的 句 柄 。

请 参 阅 CTreeCtrl::SetToolTips

CTreeCtrl::GetVisibleCount

UINT GetVisibleCount( );

返 回 值

返 回 tree view 控 件 中 的 可 见 项 的 数 目 ; 否 则 返 回 -1 。

说 明

此 成 员 函 数 用 来 获 取 一 个 tree view 控 件 中 的 可 视 项 的 数 目 。

请 参 阅 CTreeCtrl::GetCount, CTreeCtrl::EnsureVisible

CTreeCtrl::HitTest

HTREEITEM HitT est( CPoint p t, UINT * pFlags ); HTREEITEM HitT est( TVHITTESTINFO* pHitTes tInfo );

返 回 值

返 回 位 于 指 定 点 的 tree view 项 的 句 柄 , 如 果 没 有 项 位 于 该 点 , 则 返 回 NULL 。

参 数

pt

要 测 试 的 点 的 客 户 坐 标 。

pFlags

指 向 一 个 用 来 接 收 有 关 点 击 测 试 的 信 息 的 整 数 的 指 针 。 它 可 以 是 说 明 部分 中 列 出 的 flags 成 员 值 中 的 一 个 或 多 个 。

pHitTes tInfo

一 个 包 含 点 击 测 试 的 位 置 并 接 收 测 试 结 果 的 信 息 的 TVHITTESTINFO 结 构的 地 址 。

说 明

此 成 员 函 数 用 来 确 定 相 对 于 一 个 tree view 控 件 的 客 户 区 的 指 定 点 的 定 位 。

当 调 用 这 个 函 数 时 , pt 参 数 指 定 要 测 试 的 点 的 坐 标 。 此 函 数 返 回 位 于 指 定 点 的项 的 句 柄 , 或 者 如 果 没 有 项 位 于 该 点 则 返 回 NULL 。 另 外 , pFlags 参 数 包 含 了指 明 指 定 点 的 定 位 的 值 。

请 参 阅 CTreeCtrl::GetItemRect

CTreeCtrl::InsertItem

HTREEITEM InsertItem( LPTVINSERTSTRUCT lpInsertStruct );

HTREEITEM InsertItem( UINT nMask , LPCTSTR lpszItem ,int nImage, int

nSelectedImage ,

UINT nState , UINT nStateMask , LPARAM lParam , HTREEITEM hParen t, HTREEITEM hInsertAfter );

H TREEITEM InsertItem( LPCTSTR lpszItem , HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST );

HTREEITEM InsertItem( LPCTSTR lpszItem , int nImage , int nSelectedImage , HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST );

返 回 值

如 果 成 功 则 返 回 新 项 的 句 柄 ; 否 则 返 回 NULL 。

参 数

lpInsertStruct

一 个 指 向 用 来 指 定 要 插 入 的 tree view 项 的 属 性 的 TVINSERTSTRUCT 的 指

nMask

用 来 指 定 要 设 置 的 属 性 的 整 数 。

lpszItem

一 个 包 含 项 的 文 本 的 字 符 串 的 地 址 。

nImage

项 的 图 像 在 tree view 控 件 的 图 像 列 表 中 的 索 引 。

nSelectedImage

项 的 被 选 择 图 像 在 tree view 控 件 的 图 像 列 表 中 的 索 引 。

nState

为 项 的 状 态 指 定 的 值 。

nStateMask

指 定 要 设 置 的 状 态 。

lParam

与 此 项 关 联 的 一 个 32 位 的 应 用 程 序 指 定 的 值 。

hParent

要 被 插 入 的 项 的 父 项 的 句 柄 。

hInsertAfter

新 项 要 被 插 入 其 后 的 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 在 一 个 tree view 控 件 中 插 入 一 个 新 项 。

请 参 阅 CTreeCtrl::DeleteItem, CTreeCtrl::HitTest, CTreeCtrl::SelectDropTarget, CTreeCtrl::Ge tItem

CTreeCtrl::ItemHasChildren

BOOL ItemHasChildren( HTREEITEM hItem );

返 回 值

如 果 由 hItem 指 定 的 tree 项 有 子 项 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

一 个 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 确 定 由 hItem 指 定 的 tree 项 是 否 有 子 项 。 如 果 有 , 则 你 可 以 接着 调 用 CTreeCtrl::GetChildItem 来 获 取 那 些 子 项 。

请 参 阅 CTreeCtrl::GetChildItem

CTreeCtrl::Select

BOOL Select( HTREEITEM hItem , UINT nCode );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

  • 个 tree 项 的 句 柄 。

nCode

要 进 行 的 动 作 的 类 型 。 这 个 参 数 可 以 是 下 列 值 之 一 :

  • TVGN_CARET 设 置 给 定 项 的 选 择 。

  • TVGN_DROPHILITE 用 指 明 一 次 拖 放 操 作 的 目 标 的 风 格 重 画

    给 定 的项。

  • TVGN_FIRSTVISIBLE 垂 直 滚 动 该 tree view 以 使 指 定 的 项 成 为

    第 一个 可 见 的 项 。

说 明

此 成 员 函 数 通 过 滚 动 使 该 项 进 入 视 中 , 或 用 指 明 一 次 拖 放 操 作 的 目 标 的 风 格 重

画 该 项 , 以 选 择 给 定 的 tree view 项 。

如 果 nCode 包 含 的 值 是 TVGN_CARET , 则 父 窗 口 接 收 TVN_SELCHANGING 和 TVN_SELCHANGED 通 知 消 息 。 而 且 , 如 果 指 定 项 是 一 个 收 缩 的 父 项 的 子项 , 则 该 父 项 的 子 项 列 表 被 展 开 以 显 示 该 指 定 项 。 在 这 种 情 况 下 , 父 窗 口 接 收TVN_ITEMEXPANDING 和 TVN_ITEMEXPANDED 通 知 消 息 。

请 参 阅 CTreeCtrl::Select Item, CTreeCtrl::GetSelectedItem, CTreeCtrl::SelectDropTarget

CTreeCtrl::SelectDropTarget

BOOL SelectDropTarget( HTREEITEM hItem );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

一 个 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 指 明 一 次 拖 放 操 作 的 目 标 的 风 格 来 重 画 该 项 。

请 参 阅 CTreeCtrl::SelectItem, CTreeCtrl::GetDropHilightItem, CTreeCtrl::CreateDragImage

CTreeCtrl::SetlectItem

BOOL SelectItem( HTREEITEM hItem );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

一 个 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 选 择 给 定 的 tree view 项 。 如 果 hItem 是 NULL , 则 此 函 数 不 选择 任 何 项 。

请 参 阅 CTreeCtrl::Select, CTreeCtrl::GetSelectedItem, CTreeCtrl::SelectDropTarget

CTreeCtrl::SelectSetFirstVisible

BOOL SelectSetFirstVisible( HTREEITEM hItem );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

要 被 设 置 为 第 一 个 可 视 项 的 tree 项 的 句 柄 。

说 明

此 成 员 函 数 用 来 垂 直 滚 动 该 tree view 以 使 指 定 的 项 成 为 第 一 个 可 视 项 。 此 函 数用 TVM_SELECTITEM 和 TV G N _FIRSTVISIBLE 消 息 参 数 向 窗 口 发 送 一 个 消息 。

请 参 阅 CTreeCtrl::Select, CTreeCtrl::SelectItem, CTreeCtrl::SelectDropTarget

COLORREF SetBkColor( COLORREF clr );

返 回 值

返 回 一 个 代 表 当 前 文 本 颜 色 的 COLORREF 值 。 如 果 返 回 值 是 -1 , 则 控 件 正 使用 系 统 颜 色 作 为 文 本 颜 色 。

参 数

clr

说 明

  • 个 包 含 了 新 的 背 景 颜 色 的 COLORREF 值 。 如 果 这 个 值 是 -1

    , 则 控 件 将改 变 为 用 系 统 颜 色 作 为 背 景 色 。

此 成 员 函 数 实 现 了 W in32 消 息 TVM_SETBKCOLOR 的 行 为 , 就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CTreeCtrl::GetBkColor

BOOL SetCheck( HTREEITEM hItem , BOOL fCheck = TRUE );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

用 来 接 收 改 变 的 核 选 状 态 的 HTREEITEM 。

fCheck

表 明 是 否 要 将 tree 控 件 项 核 选 。 缺 省 的 , SetCheck 将 该 项 设 置 为 被 核 选 的 。

说 明

此 成 员 函 数 用 来 设 置 一 个 tree 控 件 项 的 核 选 状 态 。当 该 tree 控 件 项 被 核 选( fCheck

设 置 为 TRU E ) , 则 该 项 显 示 一 个 邻 近 的 核 选 标 记 。

请 参 阅 CTreeCtrl::GetCheck

CImageList* SetImageList( CImageList* pImageLis t, int nImageListType );

返 回 值

返 回 指 向 先 前 的 图 像 列 表 的 指 针 ( 如 果 有 ) ; 否 则 返 回 NULL 。

参 数

pImageList

指 向 要 被 分 配 的 图 像 列 表 的 指 针 。如 果 pImageList 是 NULL ,则从 tree view

控 件 中 删 除 所 有 的 图 像 。

nImageListType

要 设 置 的 图 像 列 表 的 类 型 。 图 像 列 表 可 以 是 下 列 值 之 一 :

  • TVSIL_NORMAL 获 取 常 规 的 图 像 列 表 , 它 包 含 了 该 tree view

    项 的被 选 择 的 和 不 被 选 择 的 图 像 。

  • TVSIL_STATE 获 取 状 态 图 像 列 表 ,它 包 含 了 处 于 用 户 定 义

    状 态 的 tree view 项 的 图 像 。

说 明

此 成 员 函 数 用 来 设 置 一 个 tree view 控 件 的 常 规 或 状 态 图 像 列 表 , 并 使 用 新 的 图

像 来 重 画 该 tree view 项 的 图 像 。

请 参 阅 CImageList, CTreeCtrl::Get ImageList

CTreeCtrl::SetIndent

void SetIndent( UINT nIndent );

参 数

nIndent

以 像 素 表 示 的 缩 进 的 宽 度 。 如 果 nIndent 小 于 系 统 定 义 的 最 小 宽 度 , 则 新的 宽 度 被 设 置 为 系 统 定 义 的 最 小 值 。

说 明

此 成 员 函 数 用 来 为 一 个 tree view 控 件 设 置 缩 进 的 宽 度 , 并 重 画 控 件 以 反 映 新 的宽 度 。

请 参 阅 CTreeCtrl::GetIndent, CTreeCtrl::GetItemRect

CTreeCtrl::SetInsertMark

BOOL SetInsertMark ( HTREEITEM hItem , BOOL fAfter = TRUE );

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

fAfter

用 来 指 定 将 在 哪 一 个 项 处 放 置 插 入 标 记 的 HTREEITEM 。 如 果 这 个 参 数是 NULL , 则 删 除 该 插 入 标 记 。

用 来 指 定 是 将 插 入 标 记 放 置 在 指 定 项 的 前 面 还 是 后 面 的 BOOL 值 。 如 果这 个 参 数 是 非 零 值 , 则 插 入 标 记 将 被 放 置 在 指 定 项 之 后 。 如 果 此 参 数 是零 , 则 将 插 入 标 记 放 置 在 指 定 项 之 前 。

说 明

此 成 员 函 数 实 现 了 W in32 消 息 TVM_SETINSERTMARK 的 行 为 , 就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

CTreeCtrl::SetInsertMarkColor

COLORREF SetInsertMarkColor( COLORREF clrNew );

返 回 一 个 包 含 了 先 前 的 插 入 标 记 颜 色 的 COLORREF 值 。

参 数

clrNew

一 个 包 含 了 新 的 插 入 标 记 颜 色 的 COLORREF 值 。

说 明

此 成 员 函 数 实 现 了 W in32 消息 TVM_SETINSERTMARKCOLOR 的 行 为 , 就 像在 “ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CTreeCtrl::GetInsertMarkColor

CTreeCtrl::SetItem

BOOL SetItem( TVITEM* pItem );

BOOL SetItem( HTREEITEM hItem , UINT nMask , LPCTSTR lpszItem , int nImage , int nSelectedImage , UINT nState , UINT nStateMask , LPARAM lParam );

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

pItem

hItem

一 个 指 向 包 含 新 项 属 性 的 TVITEM 结 构 的 指 针 , 就 像 在 “ Platform SDK ” 中 描 述 的 一 样 。

要 设 置 其 属 性 的 项 的 句 柄 。

nMask

指 定 要 设 置 哪 些 属 性 的 整 数 。

lpszItem

一 个 包 含 了 项 的 文 本 的 字 符 串 的 地 址 。

nImage

项 的 图 像 在 tree view 控 件 的 图 像 列 表 中 的 索 引 。

nSelectedImage

该 项 的 被 选 择 图 像 在 tree view 控 件 的 图 像 列 表 中 的 索 引 。

nState

指 定 项 的 状 态 值 。

nStateMask

指 定 要 设 置 哪 些 状 态 。

lParam

一 个 与 该 项 关 联 的 32 位 的 应 用 程 序 定 义 值 。

说 明

此 成 员 函 数 用 来 设 置 指 定 tree view 项 的 属 性 。

在 TVITEM 结 构 中 , hItem 成 员 标 识 了 这 个 项 , mask 成 员 指 定 了 要 设 置 的 属 性 。如 果 mask 成 员 或 nMask 参 数 指 定 的 是 TVIF_TEXT 值 ,则 pszText 成 员 或 lpszItem

就 是 一 个 以 空 字 符 结 尾 的 字 符 串 的 地 址 ,而 cchTextMax 成 员 被 忽 略 。如 果 mask

( 或 nMask ) 指 定 的 是 TVIF_STATE 值 , 则 stateMask 成 员 或 nStateMask 参 数指 定 要 改 变 的 是 哪 一 个 项 状 态 ,而 state 成 员 或 nState 参 数 包 含 了 那 些 状 态 的 值 。

请 参 阅 CTreeCtrl::GetItem

CTreeCtrl::SetItemData

BOOL SetItemData( HTREEITEM hItem , DWORD dwData );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

要 获 取 其 数 据 的 项 的 句 柄 。

dwData

一 个 与 由 hItem 指 定 的 项 关 联 的 32 位 的 应 用 程 序 指 定 值 。

说 明

此 成 员 函 数 用 来 设 置 与 指 定 项 关 联 的 32 位 的 应 用 程 序 指 定 值 。

请 参 阅 CTreeCtrl::GetIte mData

CTreeCtrl::SetItemHeight

SHORT SetItemHeight ( SHORT cyHeight );

返 回 值

返 回 以 像 素 表 示 的 项 的 先 前 的 高 度 。

cyHeight

指 定 tree view 中 的 每 一 个 项 的 新 高 度 。 如 果 这 个 参 数 小 于 图 像 的 高 度 , 则 它 将 被 设 置 为 图 像 的 高 度 。 如 果 这 个 参 数 不 是 偶 数 值 , 则 它 将 被 设 置为 与 它 最 接 近 的 小 于 它 的 偶 数 值 。 如 果 这 个 参 数 是 -1 , 则 控 件 将 变 为 使用 它 缺 省 的 项 高 度 。

说 明

此 成 员 函 数 实 现 了 W in32 消 息 TVM_SETITEMHEIGHT 的 行 为 ,就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CTreeCtrl::GetItemHeight

CTreeCtrl::SetItemImage

BOOL SetItemImage( HTREEITEM hItem , int nImage , int nSelectedImage );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

hItem

要 设 置 其 图 像 的 项 的 句 柄 。

nImage

项 的 图 像 在 tree view 控 件 的 图 像 列 表 中 的 索 引 。

nSelectedImage

项 的 被 选 择 图 像 在 tree view 控 件 的 图 像 列 表 中 的 索 引 。

说 明

在 一 个 tree view 控 件 中 每 一 个 项 有 一 对 与 之 关 联 的 位 图 图 像 。 图 像 显 示 在 一 个项 的 标 签 的 左 边 。 其 中 一 个 项 是 在 项 被 选 择 的 时 候 显 示 的 , 另 一 个 项 是 在 项 没有 被 选 择 的 时 候 显 示 的 。 例 如 , 当 一 个 项 被 选 择 时 它 可 能 被 显 示 为 一 个 打 开 的文 件 夹 , 而 当 它 没 有 被 选 择 时 则 显 示 为 一 个 关 闭 的 文 件 夹 。

此 成 员 函 数 用 来 设 置 项 的 图 像 和 它 的 被 选 择 图 像 在 tree view 控 件 的 图 像 列 表 中的 索 引 。

有 关 图 像 的 更 多 信 息 , 参 见 CImageList 。

请 参 阅 CTreeCtrl::GetItemImage, CImageList

BOOL SetItemState( HTREEITEM hItem , UINT nState , UINT nStateMask );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

要 设 置 其 状 态 的 项 的 句 柄 。

nState

指 定 该 项 的 新 的 状 态 。

nStateMask

指 定 要 改 变 哪 些 状 态 。

说 明

此 成 员 函 数 用 来 设 置 由 hItem 指 定 的 项 的 状 态 。 有 关 状 态 的 信 息 , 参 见

CTreeCtrl::GetItem 。

请 参 阅 CTreeCtrl::GetItem, CTreeCtrl::GetItemState

BOOL SetItemText( HTREEITEM hItem , LPCTSTR lpszItem );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

要 设 置 其 文 本 的 项 的 句 柄 。

lpszItem

一 个 包 含 项 的 新 文 本 的 字 符 串 的 地 址 。

说 明

此 成 员 函 数 用 来 设 置 由 hItem 指 定 的 项 的 文 本 。

请 参 阅 CTreeCtrl::GetItemText

CTreeCtrl::SetTextColor

COLORREF SetTextColor ( COLORREF clr );

  • 个 代 表 先 前 的 文 本 颜 色 的 COLORREF 值 。 如 果 这 个 值 是 -1

    , 则 控 件 使 用 系统 颜 色 作 为 文 本 的 颜 色 。

参 数

clr

  • 个 包 含 了 新 的 文 本 颜 色 的 COLORREF 值 。 如 果 这 个 参 数 是

    -1 , 则 控 件将 变 为 使 用 系 统 颜 色 作 为 文 本 的 颜 色 。

说 明

此 成 员 函 数 实 现 了 W in32 消 息 TVM_SETTEXTCOLOR 的 行 为 ,就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CTreeCtrl::GetTextColor

CTreeCtrl::SetToolTips

void SetToolTips( CToolTipCtrl* pWndTip ); CToolTipCtrl* SetToolTips ( CToolTipCtrl* pWndTip );

返 回 一 个 指 向 包 含 控 件 先 前 使 用 的 工 具 提 示 的 CToolTipCtrl 对 象 , 如 果 先 前 没有 使 用 工 具 提 示 则 返 回 NULL 。

参 数

pWndTip

一 个 指 向 将 要 被 该 tree 控 件 使 用 的 CToolTipCtrl 对 象 的 指 针 。

说 明

此 成 员 函 数 实 现 了 W in32 消 息 TVM_SETTOOLTIPS 的 行 为 , 就 像 在 “ Platform SDK ” 中 描 述 的 一 样 。

要 使 用 工 具 提 示 , 则 需 要 在 创 建 CTreeCtrl 对 象 时 指 定 TVS_NOTOOLTIPS 风格 。

请 参 阅 CTreeCtrl::GetToolTips, CTreeCtrl::Create

CTreeCtrl::SortChildren

BOOL SortChildren ( HTREEITEM hItem );

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hItem

其 子 项 要 被 排 序 的 父 项 的 句 柄 。 如 果 hItem 是 NULL , 则 将 从 该 tree 的 根项 开 始 排 序 。

说 明

此 成 员 函 数 用 来 给 一 个 tree view 控 件 中 的 指 定 父 项 的 子 项 进 行 排 序 。SorChildren

不 会 对 整 个 tree 进 行 递 归 ; 只 对 hItem 的 直 接 子 项 进 行 排 序 。

请 参 阅 CTreeCtrl::SortChildrenCB

CTreeCtrl::SortChildrenCB

BOOL SortChildrenCB( LPTVSORTCB pSort );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

pSort

指 向 一 个 TVSORTCB 结 构 的 指 针 。

说 明

此 成 员 函 数 通 过 使 用 一 个 应 用 程 序 定 义 的 用 来 比 较 各 项 的 回 收 函 数 来 排 序 tree view 项。

如 果 第 一 项 应 该 在 第 二 项 的 前 面 , 则 结 构 的 比 较 函 数 lpfnCompare 必 须 返 回 一个 负 值 ; 如 果 第 一 项 应 该 在 第 二 项 的 后 面 则 返 回 一 个 正 值 , 如 果 两 个 项 相 等 则返 回 零 。

lParam1lParam2 参 数 分 别 对 应 于 两 个 被 比 较 项 的 TVITEM 结 构 的 lParam 成员 。 lParamSort 初 始 对 应 于 TV_SORTCB 结 构 的 lParam 成 员 。

请 参 阅 CTreeCtrl::SortChildren