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 必 须 返 回 一个 负 值 ; 如 果 第 一 项 应 该 在 第 二 项 的 后 面 则 返 回 一 个 正 值 , 如 果 两 个 项 相 等 则返 回 零 。
lParam1 和 lParam2 参 数 分 别 对 应 于 两 个 被 比 较 项 的 TVITEM 结 构 的 lParam 成员 。 lParamSort 初 始 对 应 于 TV_SORTCB 结 构 的 lParam 成 员 。
请 参 阅 CTreeCtrl::SortChildren