트리 컨트롤
데이터의 계층구조 표현
각 트리 아이템에 대해 데이터를 가질 수 있다.
아이콘 리소스 사용.
CTreeCtrl
주로 사용하는 속성 : Has Button, Has Lines, Lines at Root
HTREEITEM
트리 컨트롤을 가리키는 유일한 핸들.
트리 컨트롤에서 접근하는 진입지점.
아이템을 추가할 때 얻는다.
아이템 그 자체로 간주된다.
구조체
TVITEM : 아이템에 관한 정보를 가짐. (HTREEITEM포함)
- mask : 원하는 정보에 대한 편집을 고를 때. (이미지/문자 편집등)
TV_INSERTSTRUCT : 데이터 입력.
TV_DISPINFO : 아이템에 관한 이벤트 정보를 표현.
관련 함수
UINT CTreeCtrl::GetCount() const;
참고주소 : http://msdn.microsoft.com/en-us/library/3ac62s2x(VS.80).aspx
트리뷰 컨트롤에서 아이템의 수를 센다.
리턴 : 트리뷰의 아이템 수
HTREEITEM CTreeCtrl::GetParentItem(HTREEITEM hItem) const;
참고주소 : http://msdn.microsoft.com/en-us/library/aybe0edk(VS.80).aspx
hItem의 부모를 얻는다.
리턴 : 성공시 부모 아이템의 핸들, 실패시 NULL
hItem : 트리 아이템에 대한 핸들
HTREEITEM CTreeCtrl::GetSelectedItem() const;
참고주소 : http://msdn.microsoft.com/en-us/library/xw6h5d91(VS.80).aspx
트리 뷰 컨트롤에서 현재 선택된 아이템을 얻는다.
리턴 : 성공시 선택된 아이템의 핸들. 실패시 NULL
HTREEITEM CTreeCtrl::GetRootItem( ) const;
참고주소 : http://msdn.microsoft.com/en-us/library/s69s56kc(VS.80).aspx
트리 뷰 컨트롤에서 루트(최상위 노드)의 아이템을 얻는다.
리턴 : 성공시 루트(최상위 노드) 아이템의 핸들. 실패시 NULL
BOOL CTreeCtrl::GetItem(TVITEM* pItem) const;
참고주소 : http://msdn.microsoft.com/en-us/library/s69s56kc(VS.80).aspx
특정 트리뷰 아이템에 대한 속성을 얻는다.
리턴 : 성공시 TRUE, 실패시 FALSE
pItem : 플랫폼 SDK에 묘사된 TV_ITEM 구조체의 포인터
- TV_ITEM 구조체 : 트리뷰 아이템에 대한 속성.
BOOL CTreeCtrl::SelectItem(HTREEITEM hItem);
참고주소 : http://msdn.microsoft.com/en-us/library/w8hy20sy(VS.80).aspx
주어진 트리 뷰 아이템을 선택한다.
리턴 : 성공시 TRUE, 실패시 FALSE
hItem : 트리 아이템의 핸들
CString CTreeCtrl::GetItemText(HTREEITEM hItem) const;
참고주소 : http://msdn.microsoft.com/en-us/library/5t2ff943(VS.80).aspx
hItem으로 정의된 item의 문자열을 얻는다.
리턴 : 아이템 문자열이 포함된 CString 객체
hItem : 얻고자 하는 문자열의 아이템 핸들.
BOOL CTreeCtrl::SetItemText(HTREEITEM hItem, LPCTSTR lpszItem);
참고주소 : http://msdn.microsoft.com/en-us/library/k02fxzex(VS.80).aspx
hItem으로 정의된 아이템의 문자열을 설정한다.
※ 다른 함수를 통해 이미지/상태/데이터의 아이템도 얻고 바꿀 수 있다.
리턴 : 성공시 TRUE, 실패시 FALSE
hItem : 설정될 문자열의 아이템에 대한 핸들.
lpszItem : 아이템에 대한 새로운 문자열에 대한 포인터.
아이템 추가
부모 노드의 핸들을 얻음.
TV_INSERTSTRUCT를 작성한다.
InsertItem호출.
HTREEITEM CTreeCtrl::InsertItem(LPTVINSERTSTRUCT lpInsertStruct);
참고주소 : http://msdn.microsoft.com/en-us/library/ettyybhw(VS.80).aspx
트리 뷰 컨트롤에서 새로 아이템을 추가한다.
※ 부모선택(hParent) -> 추가될 방식을 지정(hInsertAfter, 막내, 순서대로, 첫째 등)
리턴 : 성공시 새로운 아이템에 대한 핸들. 실패시 NULL
아이템 삭제
지우기 원하는 아이템의 핸들을 얻는다.
DeleteItem호출
BOOL CTreeCtrl::DeleteItem(HTREEITEM hItem)
참고주소 : http://msdn.microsoft.com/en-us/library/wdhxwhcx(VS.80).aspx
트리 뷰 컨트롤에서 아이템을 지운다.
리턴 : 성공시 TRUE, 실패시 FALSE
hItem : 지울 트리 아이템의 핸들. 만약 hItem이 TVI_ROOT 값을 가지고 있다면 모든 아이템이 트리 뷰 컨트롤에서 지워진다.
BOOL CTreeCtrl::DeleteAllItems( );
참고주소 : http://msdn.microsoft.com/en-us/library/x67k2482(VS.80).aspx
트리 뷰 컨트롱에서 모든 아이템을 지운다.
리턴 : 성공시 TRUE, 실패시 FALSE
아이템 갱신
갱신할 아이템의 핸들을 얻는다.
아이템에 관한 정보를 얻는다.(선택사항)
TV_ITEM 구조체를 작성한다.
SetItem 호출
BOOL CTreeCtrl::SetItem(TVITEM* pItem);
참고주소 : http://msdn.microsoft.com/en-us/library/ftcz4k70(VS.80).aspx
리턴 : 성공시 TRUE, 실패시 FALSE
pItem : TVITEM에 대한 포인터.
'컴퓨터 공부 > MFC 프로그래밍' 카테고리의 다른 글
[5월 20일 2교시] 공통 다이얼로그 + 프로퍼티 시트 1 (0) | 2009.05.20 |
---|---|
[5월 20일 1교시] 트리 컨트롤 2 (0) | 2009.05.20 |
[5월 19일 2교시] 모달리스 다이얼로그 (0) | 2009.05.19 |
[5월 19일 1교시] 컨트롤 (0) | 2009.05.19 |
[5월 18일 3교시] 다이얼로그2 (0) | 2009.05.18 |