在 MFC 中,CTreeCtrl 类提供了 GetItemImage 方法,用于获取树控件中指定项(节点)的图标索引。该方法允许你获取项展开时和折叠时的图标索引。

以下是 CTreeCtrl::GetItemImage 的基本用法:
CTreeCtrl m_treeCtrl;  // 假设已经创建了一个 CTreeCtrl 对象

// 假设 hItem 是树控件中的某个项的句柄
HTREEITEM hItem = m_treeCtrl.GetSelectedItem();  // 获取当前选中项的句柄

// 调用 GetItemImage 获取项的图标索引
int nImageIndex = m_treeCtrl.GetItemImage(hItem);

// 使用获取到的图标索引
// 可以根据需要进行其他操作

上述示例中,GetItemImage 方法用于获取指定项的图标索引。这个索引表示在图像列表中的位置。如果树控件没有设置图像列表,这个索引值就是图标的资源 ID。

请注意,在 Windows 树控件中,图标索引可能与图像列表中的索引不同,具体取决于树控件的状态(展开/折叠)和设置。通常,CTreeCtrl::GetItemImage 方法会返回图标列表中的索引,而 CTreeCtrl::GetItem 方法中的 iImage 和 iSelectedImage 成员返回的是与当前项状态(展开/折叠)相关的索引。


转载请注明出处:http://www.pingtaimeng.com/article/detail/22847/MFC/CTreeCtrl