[MFC] 트리 확장/축소하기

2022. 1. 11. 00:50

CTreeCtrl::Expand

BOOL Expand( HTREEITEM hItem, // 확장 트리 항목의 핸들 UINT nCode // 종류의 동작을 나타내는 플래그 );

 

nCode 

  •  TVE_COLLAPSE 목록을 축소
  •  TVE_EXPAND 목록을 확장

추가 정보 : https://msdn.microsoft.com/ko-kr/library/hx4e0e58.aspx

 

 

Expand함수를 이용하여 다음과 같은 함수를 하나 만들고, nCode로 확장/축소 플래그를 설정하도록 한다.

 

함수 정의

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void ExpandTreeItem(CTreeCtrl &tree, HTREEITEM hItem, UINT nCode)
{
    HTREEITEM hChild;
 
    if (tree.ItemHasChildren(hItem))
    {
        tree.Expand(hItem, nCode);
        hChild = tree.GetChildItem(hItem);
 
        while (hChild)
        {
            ExpandTreeItem(tree, hChild, nCode);
            hChild = tree.GetNextItem(hChild, TVGN_NEXT);
        }
    }
}
cs
 

 

 

확장하기

1
2
3
HTREEITEM root = m_treeView.InsertItem(_T("ROOT"));
 
ExpandTreeItem(m_treeView, root, TVE_EXPAND);
cs

 

축소하기

 

1
2
3
HTREEITEM root = m_treeView.InsertItem(_T("ROOT"));
 
ExpandTreeItem(m_treeView, root, TVE_COLLAPSE);
cs

 

 

+ Reference

http://forums.codeguru.com/showthread.php?231228-MFC-Tree-Control-How-to-expand-collapse-a-branch

https://msdn.microsoft.com/ko-kr/library/hx4e0e58.aspx

 

 

BELATED ARTICLES

more