MFC의 CTreeCtrl 의 함수 중 잘 사용하지 않지만 아주 유용한 멤버함수가 있다.

SetItemData(), GetItemData() 가 바로 그것 인데 이들 함수는 트리의 각 노드에 특정 데이트를 할당하거나 조회할 때 사용하는 함수이다.

데이터 형은 DWORD  형으로 32비트 포인터를 담을 수 있다. Visual Studio 2008 에서는 DWORD_PTR 로 변경되어 64비트 포인터를 담을 수 있다. 어떤 버전부터 DWORD_PTR 로 바뀌었는지는 모르겠지만 64비트 프로그래밍을 지원하는 버전에서는 DWORD_PTR 일 것으로 생각된다.

이 함수를 이용하면 트리의 각 노드에 포인터를 담고 있을 수 있어 어떠한 자료든지 쉽게 할당 할 수 있다.
아래 소스는 트리의 각 노드에 데이터를 할당하고 조회하여 사용하는 간단한 예이다.


이는 노드에 포인터를 할당하는 것으로 메모리 관리에 신경을 써야 한다. 그렇지 않을 경우에는 아래와 비슷한 메모리 누수 메세지를 보게 된다.

Posted by NeoDreamer
:
BLOG main image
사람의 발목을 잡는건 '절망'이 아니라 '체념'이고 앞으로 나아가게 하는건 '희망'이 아니라 '의지'다. - 암스 중에서 - by NeoDreamer

공지사항

카테고리

전체보기 (793)
Life Story (1)
Thinking (2)
Nothing (5)
---------------* (0)
Dev Story (701)
Com. Story (80)
IT Story (1)
---------------+ (0)
Etc (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :
05-05 00:03