CTreeCtrl

2021年11月21日13点37分,CTreeCtrl_第1张图片

CTreeCtrl_第2张图片  

上面是Treectrl控件的图像形式,下面分别用序号进行解释。

①毫无疑问是TreeCtrl顶级根节点,获取treectrl控件的顶级根节点,使用GetRootItem。

②是①的子节点,可以用GetChildItem(根节点)获取,注意:只可以通过父节点用此函数获取一个子节点,若是想获取父节点下多个子节点,要使用GetNextItem(子节点, TVGN_NEXT);获取同级节点方式获得。

②,③,④,⑤都是①的子节点,同时②,③,④,⑤彼此之间都是同级节点,若是想获取③节点,可以用③节点 = GetNextItem(②节点,TVGN_NEXT);

⑤是⑥的根节点,反过来讲⑥也是⑤的子节点

HTREEITEM root = GetRootItem() 获取根节点
GetNextItem(root, TVGN_NEXT); 获取同级节点
GetChildItem(root);获取根节点的子节点

获取鼠标点击item

在click事件中处理

CPoint pt;
GetCursorPos(&pt);
m_Tree.ScreenToClient(&pt);
UINT uFlags;
HTREEITEM hItem = m_Tree.HitTest(pt, &uFlags);

选中item

CPoint pt;
GetCursorPos(&pt);
m_Tree.ScreenToClient(&pt);
UINT uFlags;
HTREEITEM hItem = m_Tree.HitTest(pt, &uFlags);
if (NULL != hItem)
{
	m_Tree.SelectItem(hItem);
	SetPopupMenuCategory();
}

一辈子的程序员,学一辈子。

你可能感兴趣的:(VC,c++,mfc)