CTreeCtrl 如何在展开节点时更换图标

最近再做一个如何在展开CTreeCtrl节点的时候,想更换一下该节点的图标。
那么如何判断该节点是否处于展开的状态呢。

我是用如下事件来做的。

在.h里面定义函数:
afx_msg void OnTvnItemexpandedTreeMain(NMHDR *pNMHDR, LRESULT *pResult);

在.cpp文件中实现该函数
HTREEITEM selectedItem = m_mainTree.GetSelectedItem();
	if(selectedItem == hRecentContacts || selectedItem == hOfenUsedContacts || selectedItem == hUnderConversation)
	{
		if (m_mainTree.GetItemState(selectedItem,TVIS_EXPANDED)&TVIS_EXPANDED)
		{
			m_mainTree.SetItemImage(selectedItem,8,8);
		}
		else
		{
			m_mainTree.SetItemImage(selectedItem,7,7);
		}
	}


你可能感兴趣的:(C++,c,C#)