mfc 트리 컨트롤 예제

컨트롤에서 이전에 사용한 도구 설명이 포함된 CToolTipCtrl 개체에 대한 포인터 또는 이전에 도구 설명이 사용되지 않은 경우 NULL입니다. 지정된 트리 뷰 항목을 첫 번째 표시되는 항목으로 선택합니다. 트리 컨트롤에서 사용할 CToolTipCtrl 개체에 대한 포인터입니다. 멤버 만들기 함수에서 TVS_NOTOOLTIPS 스타일을 사용하는 경우 도구 설명이 사용되지 않고 NULL이 반환됩니다. 각 트리 컨트롤 항목은 그래픽 사각형으로 경계가 됩니다. 해당 사각형의 점을 클릭할 때마다 항목이 적중되었다고 합니다. 이 메서드는 사각형의 점을 클릭할 때 hItem 매개 변수로 식별된 항목이 적중되도록 가장 큰 사각형을 반환합니다. CImageList 개체는 영구적이며 완료되면 삭제해야 합니다. 예를 들어 GetToolTips의 MFC 구현은 도구 설명 컨트롤에 대한 핸들이 아니라 트리 컨트롤에서 사용하는 CToolTipCtrl 개체를 반환합니다. 트리 컨트롤에 항목을 추가하려면 InsertItem 함수가 사용할 항목입니다.

이렇게 하면 트리 항목 유형에 핸들이 HTREEITEM로 반환됩니다. 다음 샘플을 살펴보십시오. 지정된 점 또는 NULL을 차지하는 트리 뷰 항목의 핸들은 항목을 차지하지 않는 경우 점을 차지합니다. 트리 뷰 항목의 오프셋(픽셀)을 부모에서 검색합니다. n트리 뷰 컨트롤의 이미지 목록에서 항목 이미지의 이미지 인덱스입니다. TVITEM 구조의 iImage 멤버를 참조하십시오. Windows 공통 트리 보기 컨트롤의 기능을 제공합니다. nStateMask에서 지정한 값의 비트 OR을 보유하는 UINT입니다. 가능한 값에 대한 자세한 내용은 CTreeCtrl::GetItem을 참조하십시오. 특정 상태에 대한 값을 찾으려면 다음 예제와 같이 상태 값과 반환 값의 BITWISE AND 작업을 수행합니다. 이 메서드는 Windows SDK에 설명 된 TVM_GETITEM 메시지를 보냅니다.

이 메시지는 트리 뷰 컨트롤 항목을 설명하는 TVITEMEX 구조를 반환한 다음 이 메서드는 해당 구조에서 iExpandedImage 멤버를 검색합니다. 다음 코드 예제에서는 트리 뷰 제어 항목에 대한 식별 번호를 가져옵니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국의 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주에 대한 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 이 코드 예제는 루트 국가/지역 노드에 대한 고유 식별 번호를 가져옵니다. 이 컨트롤(따라서 CTreeCtrl 클래스)은 Windows 98 및 Windows NT 버전 4 이상에서 실행되는 프로그램에서만 사용할 수 있습니다. TVSIL_NORMAL 트리 보기 항목에 대해 선택되고 선택되지 않은 이미지가 포함된 일반 이미지 목록을 검색합니다. 리소스 할당 리소스 ID의 대화 상자에 트리 제어 리소스를 속성 대화 상자를 사용하여 트리 컨트롤 컨트롤에 추가합니다. 클래스 마법사를 사용하여 트리 컨트롤에 CTreeCtrl 형식 멤버 변수를 추가합니다.

이렇게 하려면 Ctrl + W 키를 함께 눌러 클래스 마법사를 호출합니다. 멤버 변수 탭에서 트리 컨트롤의 ID를 선택하고 멤버 추가를 누릅니다. 변수를 지금 만들 수 있습니다). 변수 이름을 할당할 이미지 목록에 대한 m_MFC_Tree pImageList 포인터로 가정해 보겠습니다. pImageList가 NULL이면 모든 이미지가 트리 보기 컨트롤에서 제거됩니다. 이 문서에서는 트리 컨트롤의 모든 것을 다루지는 않지만 MFC Tree 컨트롤을 사용하여 몇 가지 기본 수준의 프로그래밍을 수행하는 데 충분해야 합니다. 다음 샘플에서는 Tree 컨트롤에 선택 변경 이벤트가 발생할 때마다 메시지 상자를 보여 주며, 이 중 에는 메시지 상자가 표시됩니다.