CTreeCtrl 클래스는 윈도우의 공통 컨트롤이며 Win95, NT3.51, Win32 1.3이상 버전에서만 사용 가능합니다.
header : afxcmn.h
Class : CObject->CCmdTarget->CWnd->CTreeCtrl
#트리 컨트롤에서 사용되는 멤버함수에 대한 설명
@생성과 관련된 함수들
CTreeCtrl();
객체를 생성한다.
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
트리 컨트롤을 생성하고 객체에 부과한다.
dwStyle : 컨트롤의 스타일을 설정
rect : 컨트롤의 크기
pParendWnd : 부모 윈도우 핸들
nID : 객체와 연결될 리소스 ID
@속성과 관련된 함수
UINT GetCount();
트리 컨트롤과 연결된 트리의 항목 갯수를 리턴
void SetIndent(UINT nIndent);
컨트롤의 항목이 페어런트 윈도우로 부터 떨어진 거리 설정
CImageList* GetImageList(UINT nImage);
컨트롤과 연결된 이미지 리스트의 핸들을 리턴
CImageList* SetImageList(CImageList* pImageList, int nImageListType);
컨트롤에 연결될 이미지 리스트를 설정한다.
HTREEITEM GetNextItem(HTREEITEM hItem, UINT nCode);
설정된 관계와 일치하는 다음 항목을 리턴
BOOL ItemHasChildren(HTREEITEM hItem);
특정 항목이 자식 항목을 가지지 않으면 0이 아닌값을 리턴
HTREEITEM GetNextSiblingItem(HTREEITEM hItem);
특정 항목의 다음 형제 항목을 리턴
HTREEITEM GetPrevSiblingItem(HTREEITEM hItem);
특정 항목의 이전 형제 항목을 리턴
HTREEITEM GetParentItem(HTREEITEM hItem);
특정 항목의 페어런트 항목을 리턴한다.
HTREEITEM GetFirstVisibleItem();
처음 보이는 항목을 리턴한다.
HTREEITEM GetNextVisibleItem(HTREEITEM hItem);
특정 항목의 다음에 보이는 항목을 리턴한다.
HTREEITEM GetPrevVisibleItem(HTREEITEM hItem);
특정 항목의 이전에 보이는 항목을 리턴한다.
HTREEITEM GetSelectedItem();
현재 선택된 아이템을 리턴한다.
HTREEITEM GetDropHilightItem();
드래그 앤 드롭 동작시 대상을 리턴한다.
HTREEITEM GetRootItem();
특정 컨트롤의 루트 항목을 리턴한다.
BOOL GetItem(TV_ITEM* pItem);
특정 항목의 속성을 리턴한다.
BOOL SetItem(TV_ITEM* pItem);
특정 항목의 속성을 설정한다.
UINT GetItemState(HTREEITEM hItem, UINT nStateMask) const;
항목의 상태를 리턴한다.
BOOL SetItemState(HTREEITEM hItem, UINT nState, UINT nStateMask);
항목의 상태를 설정한다.
BOOL GetItemImage(HTREEITEM hItem, int& nImage, int& nSelectedImage) const;
항목과 연결된 이미지를 리턴한다.
BOOL SetItemImage(HTREEITEM hItem, int nImage, int nSelectedImage);
항목과 특정 이미지를 연결한다.
CString GetItemText(HTREEITEM hItem) const;
항목의 텍스트를 리턴한다.
BOOL SetItemText(HTREEITEM hItem, LPCTSTR lpszItem);
항목이 텍스트를 설정한다.
DWORD GetItemData(HTREEITEM hItem) const;
항목과 관련된 어플리케이션의 특정한 32비트 값을 리턴한다.
BOOL SetItemData(HTREEITEM hItem, DWORD dwData);
항목과 관련된 어플리케이션의 특정한 32비트 값을 설정한다.
BOOL GetItemRect(HTREEITEM hItem, LPRECT lpRect, BOOL bTextOnly);
트리 컨트롤을 둘러싸는 사각형 영역을 리턴한다.
CEdit* GetEditControl();
특정 항목을 편집할 때 사용하는 에디트 컨트롤의 핸들을 리턴한다.
UINT GetVisibleCount();
현재 보이는 항목의 개수를 리턴한다.
@역활과 관련된 함수
HTREEITEM InsertItem(LPTV_INSERTSTRUCT lpInsertStruct);
HTREEITEM InsertItem(LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);
HTREEITEM InsertItem(UINT nMask, LPCTSTR lpszItem, int nImage, int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam, HTREEITEM hParent, HTREEITEM hInsertAfter);
HTREEITEM InsertItem(LPCTSTR lpszItem, int nImage, int nSelectedImage, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);
트리 컨트롤에 새로운 항목을 추가한다.
BOOL DeleteItem(HTREEITEM hItem);
특정 항목을 지운다.
BOOL DeleteAllItems();
컨트롤의 모든 항목을 지운다.
BOOL Expand(HTREEITEM hItem, UINt nCode);
특정 항목의 차일드 항목을 보이거나 숨긴다.
BOOL Select(HTREEITEM hItem, UINT nCode);
특정 항목을 선택하거나 혹은 보이도록 스크롤 시킨 후에 다시그린다.
BOOL SelectItem(HTREEITEM hItem);
특정 항목을 선택한다.
BOOL SelectDropTarget(HTREEITEM hItem);
드래그 앤 드롭 동작시 대상 항목을 그린다.
BOOL SelectSetFirstVisible(HTREEITEM hItem);
컨트롤에서 첫번째 보이는 항목을 지정하여 선택한다.
CEdit* EditLabel(HTREEITEM hItem);
현재 위치에서 특정 항목을 편집한다.
HTREEITEM HitTest(CPoint pt, UINT* pFlags);
HTREEITEM HitTest(TV_HITTESTINFO* pHitTestInfo);
컨트롤에서 객체와 관련된 커서의 현재 위치를 리턴한다.
CImageList* CreateDragImage(HTREEITEM hItem);
특정 항목에 대한 드래그중에 사용한 비트맵을 생성한다.
BOOL SortChildren(HTREEITEM hItem);
주어진 페어런트의 차일드 항목을 정렬한다.
BOOL EnsureVisible(HTREEITEM hItem);
트리뷰 항목이 트리 컨트롤에서 확실히 보이도록 한다.
BOOL SortChildrenCB(LPTV_SORTCB pSort);
어플리케이션에 정의된 정렬 함수를 이용하여 페어런트 항목의 차일드 항목을 정렬한다.