MFC의 CTreeCtrl 의 함수 중 잘 사용하지 않지만 아주 유용한 멤버함수가 있다.
SetItemData(), GetItemData() 가 바로 그것 인데 이들 함수는 트리의 각 노드에 특정 데이트를 할당하거나 조회할 때 사용하는 함수이다.
데이터 형은 DWORD 형으로 32비트 포인터를 담을 수 있다. Visual Studio 2008 에서는 DWORD_PTR 로 변경되어 64비트 포인터를 담을 수 있다. 어떤 버전부터 DWORD_PTR 로 바뀌었는지는 모르겠지만 64비트 프로그래밍을 지원하는 버전에서는 DWORD_PTR 일 것으로 생각된다.
이 함수를 이용하면 트리의 각 노드에 포인터를 담고 있을 수 있어 어떠한 자료든지 쉽게 할당 할 수 있다.
아래 소스는 트리의 각 노드에 데이터를 할당하고 조회하여 사용하는 간단한 예이다.
이는 노드에 포인터를 할당하는 것으로 메모리 관리에 신경을 써야 한다. 그렇지 않을 경우에는 아래와 비슷한 메모리 누수 메세지를 보게 된다.
SetItemData(), GetItemData() 가 바로 그것 인데 이들 함수는 트리의 각 노드에 특정 데이트를 할당하거나 조회할 때 사용하는 함수이다.
데이터 형은 DWORD 형으로 32비트 포인터를 담을 수 있다. Visual Studio 2008 에서는 DWORD_PTR 로 변경되어 64비트 포인터를 담을 수 있다. 어떤 버전부터 DWORD_PTR 로 바뀌었는지는 모르겠지만 64비트 프로그래밍을 지원하는 버전에서는 DWORD_PTR 일 것으로 생각된다.
이 함수를 이용하면 트리의 각 노드에 포인터를 담고 있을 수 있어 어떠한 자료든지 쉽게 할당 할 수 있다.
아래 소스는 트리의 각 노드에 데이터를 할당하고 조회하여 사용하는 간단한 예이다.
이는 노드에 포인터를 할당하는 것으로 메모리 관리에 신경을 써야 한다. 그렇지 않을 경우에는 아래와 비슷한 메모리 누수 메세지를 보게 된다.
'Dev Story > Tips' 카테고리의 다른 글
Firebird C API를 이용하여 데이터베이스 생성하기 (0) | 2009.12.01 |
---|---|
Firebird isql을 이용한 데이터베이스 생성하기(Windows) (0) | 2009.11.30 |
vector 복사하기 (1) | 2009.10.07 |
열려있는 포트 확인하기 (0) | 2009.09.08 |
다각형의 면적과 무게 중심 구하기 (0) | 2009.09.02 |