以下是该方法的基本信息:
BOOL CTreeCtrl::GetItem(LPTVITEM pItemInfo) const;
- 参数 pItemInfo:指向 TVITEM 结构的指针,用于指定要获取信息的树项和存储相关信息的缓冲区。TVITEM 结构的定义如下:
typedef struct tagTVITEM {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPTSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
} TVITEM, *LPTVITEM;
- mask:用于指定要获取的信息的位标志。
- hItem:标识要获取信息的树项的句柄。
- state 和 stateMask:用于获取和设置树项的状态。
- pszText 和 cchTextMax:用于获取树项的文本。
- iImage 和 iSelectedImage:用于获取树项的图像索引。
- cChildren:用于获取树项的子项数目。
- lParam:用于获取树项的自定义数据。
- 返回值:如果成功,则返回非零值;如果失败,则返回零。
使用示例:
// 假设 m_treeCtrl 是你的 CTreeCtrl 对象
// 准备 TVITEM 结构
TVITEM itemInfo;
itemInfo.hItem = m_treeCtrl.GetSelectedItem(); // 获取当前选中的树项
itemInfo.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE; // 指定要获取的信息
// 为文本设置缓冲区
CString strText;
itemInfo.pszText = strText.GetBuffer(MAX_PATH);
itemInfo.cchTextMax = MAX_PATH;
// 获取树项的信息
BOOL bResult = m_treeCtrl.GetItem(&itemInfo);
// 释放文本缓冲区
strText.ReleaseBuffer();
// 可以使用获取到的信息进行进一步的处理
if (bResult) {
// 处理获取到的信息,例如输出文本和图像索引
TRACE(_T("Text: %s, Image Index: %d, Selected Image Index: %d\n"),
strText, itemInfo.iImage, itemInfo.iSelectedImage);
}
这个方法允许你获取树形控件中特定树项的相关信息,包括文本、图像索引、状态等。
转载请注明出处:http://www.zyzy.cn/article/detail/22896/MFC/CTreeCtrl