트리 컨트롤을 사용해야 할 일이 생겼다..
책을 보고 인터넷을 봐도 그냥 한눈에 딱 쉽게 들어오는 글이 보이지 안았다;; 이런
그래서 최대한 사용함에 있어 빨리 쉽게 사용할 수 있는데 초점을 맞춰 사용법을 적어본다...ㅋㅋㅋ
* 기준은 vs2008로 작성하엿다 *
우선 mfc로 프로젝트를 만들고 나서 다이얼로그에다가 아래와 같이 트리 컨트롤을 추가 하였다.
그냥 기본으로 추가하면 위에 처럼 저런 모양으로는 나오지 않는다.
저렇게 모양이 나올려면 속성창에서 옵션을 조그만 조정해 주면된다. 난 아래와 같이 옵션을 주었다.
(각 옵션설정하는데를 선택하면 하단에 간단하게 설명이 나온다. 읽어보면 다 알수 있음)
그 다음에 트리 컨트롤에다가 마우스 우클릭으로 변수를 추가한다. 아래 처럼 말이다
아래 처럼 변수 이름 넣고 해서 트리컨트로를 의 변수를 만들었다.
그 다음에는 소스와 출력된 모습을 보자.. 이게 이해가 제일 빠를듯..
우선 소스는 아래와 같당
HTREEITEM top = m_tree.InsertItem("동물", TVI_ROOT, TVI_LAST);
HTREEITEM do_1 = m_tree.InsertItem("고양이 1", top, TVI_LAST);
m_tree.InsertItem("털많은고양이", do_1, TVI_LAST);
m_tree.InsertItem("큰 고양이", do_1, TVI_LAST);
HTREEITEM do_2 = m_tree.InsertItem("코끼리 ", top,TVI_LAST);
m_tree.InsertItem("검은 코끼리", do_2, TVI_LAST);
m_tree.InsertItem("흰 코끼리", do_2, TVI_LAST);
HTREEITEM do_3 = m_tree.InsertItem("강아지 1", 1, 1, top, TVI_LAST);
m_tree.InsertItem("못난 강아지", do_3, TVI_LAST);
m_tree.InsertItem("잘난 강아지", do_3, 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, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST );
HTREEITEM InsertItem( LPCTSTR lpszItem, int nImage, int nSelectedImage, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = VI_LAST);
이렇게 함수가 있는데 난 두번째 함수를 사용했다. 트리 컨트롤에 이미지도 넣을수 있는데 현재 난 그 부분은 다르지 않으므로 2번째 함수를 이용해서 위와 같이 간단하게 사용하였당
아래에 들어가는 매크로에 대한 설명
이것으로 아주 간단하게 트리 컨트롤에 대해서 알아 보았다.
앞으로 더 작업해야 하는 부분이 많이 있으므로 더 추가되는 부분은 계속해서 블로그에 담도록 하겟당^^
참고로 트리컨트롤의 노드를 펼칠려면 아래와 같이
TVE_COLLAPSERESET지정한 노드의 자식들을 숨기고 모두 지워버린다.
TVE_EXPAND지정한 노드의 자식들을 확장시킨다.
TVE_TOGGLE지정한 노드의 확장/숨김을 토글한다.
'Study > MFC' 카테고리의 다른 글
CtreeCtrl에서 전체 카테고리 펼치기!! 전체 노드 펼치기!! (0) | 2011.09.28 |
---|---|
CtreeCtrl 아이템 높이 조절하기! Ctree Height 조절 (0) | 2011.09.28 |
프로그램 실행시 메인 다이얼로그 숨기기 (0) | 2011.09.28 |
TrayIcon이 사라지는 버그 현상 (0) | 2011.09.28 |
mfc TextOut 배경 투명하게 쓰기.. (0) | 2011.09.28 |
댓글