728x90
반응형
CTreeCtrl을 사용하여 아이템을 추가한 경우, 모두 닫혀 있게 되는데 매번 모두 여는 작업은 귀찮을 수 있다. 이를 위해서 한꺼번에 확장하는 함수를 만들어서 사용하게 된다.
우선 ITEM의 확장을 위해서는 간단하게 아래와 같이 만들 수 있다. ( 예는 Subclassing 한 경우다.)
void CMxTreeCtrl::ExpandTree(HTREEITEM hItem)
{
if (this->ItemHasChildren(hItem))
{
Expand(hItem, TVE_EXPAND);
HTREEITEM hChild = GetChildItem(hItem);
if (hChild)
{
do
{
ExpandTree(hChild);
} while (hChild = GetNextSiblingItem(hChild));
}
}
}
상위 Item을 넣으면 Child가 있는지 확인하고 계속해서 찾아 내려가는(재귀 호출) 함수다.
이때 변수에 ROOT 핸들을 넘겨주면 한꺼번에 열수 있다.
void CMxTreeCtrl::ExpandAll()
{
ExpandTree(GetRootItem());
}
외부에서는 ExpandAll() 함수만 호출하면 된다.
728x90
반응형
'Program Language > API | MFC' 카테고리의 다른 글
[MFC] Control 보여주고 숨기기 (확인하기) (0) | 2022.03.11 |
---|---|
[MFC] 따라하기 06. 순차적으로 원 그리기 (0) | 2022.03.09 |
[MFC] ID_FILE_OPEN 재정의 (0) | 2021.11.15 |
[MFC] App 혹은 Dll에서 콘솔 사용하기 (4) | 2021.09.27 |
[MFC] 시스템 메뉴 삭제 (0) | 2021.09.27 |