在OnClick中响应事件 ,单击打开
DWORD dwPos;
POINT pt;
HTREEITEM hItem;
UINT uFlag;
dwPos = ::GetMessagePos();
POINTSTOPOINT(pt, MAKEPOINTS(dwPos));
m_Tree.ScreenToClient(&pt);
if((hItem = m_optionTree.HitTest(pt, &uFlag)) && (uFlag & TVHT_ONITEM))
{
if(m_Tree.ItemHasChildren(hItem))
{
m_Tree.Expand(hItem, TVE_TOGGLE);
}
}
*pResult = 0;
都太麻烦,可以设置 一个风格 TVS_SINGLEEXPAND ,这个是微软已实现的功能。(未尝试过)
|
先对根节点使用expand,然后对准备展开的子节点使用select.
具体如下: m_wndTree.Expand(hTree,TVE_EXPAND);//其中hTree为根节点的HTREEITEM m_wndTree.Select(hItem,TVGN_FIRSTVISIBLE);//其中hItem为子节点的HTREEITEM |
本文介绍了一种简化TreeView操作的方法,通过设置TVS_SINGLEEXPAND样式来实现单击节点时自动展开或收起子节点的功能。此外,还提供了一个具体的示例,展示了如何先展开根节点再选择子节点。
3008

被折叠的 条评论
为什么被折叠?



