mfc treeview 예제

TreeView 컨트롤에 새 항목을 추가하려면 TVINSERTSTRUCT 구조체 변수가 있는 TVM_INSERTITEM 메시지를 사용합니다. 항목의 정보를 상위 항목인 사람, 항목 레이블 및 관련 이미지와 같은 TVINSERTSTRUCT 변수에 채워야 합니다. 예제 파일TreeView.zip에서 Control.h에서 TreeView 컨트롤에 대한 도우미 클래스를 추가했습니다. TreeView::insertItem()를 사용하여 트리뷰에 항목을 추가할 수 있습니다. 다음 코드 예제는 CTreeCtrl::GetItemExpandedImageIndex 메서드가 CTreeCtrl::SetItemExpandedImageIndex 메서드에 의해 설정된 값을 반환하는지 여부를 확인하는 간단한 테스트입니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국의 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주에 대한 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. Visual Studio 예제 및 Visual Studio 자습서 및 mfc 트리 컨트롤 다음 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl을 정의합니다. 또한 코드 예제에서는 서명되지 않은 정수 및 여러 HTREEITEM 변수를 정의합니다. 이러한 변수는 다음 예제에서 사용됩니다. 트리의 시작 항목은 루트라고도 하며 트리의 시작을 나타냅니다. 대부분의 트리 목록에는 하나의 루트가 있지만 트리 작성자가 필요하다고 판단하는 한 많은 루트가 있는 트리 목록이 있는 것은 드문 일이 아닙니다. 다음은 예제입니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국의 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주에 대한 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다.

포커스가 있는 트리 항목을 표시하기 위해 자동으로 스크롤해야 하도록 트리 뷰 컨트롤을 의도적으로 좁혀야 합니다. 코드 예제에서는 트리 항목이 보기가 될 때까지 5초마다 초당 30픽셀을 자동으로 스크롤하도록 트리 뷰 컨트롤을 설정합니다. 또는 프로그래밍 방식으로 트리 목록을 만들려면 CTreeCtrl에 대한 변수 또는 포인터를 선언합니다. 컨트롤을 초기화하려면 Create() 메서드를 호출합니다. 다음은 예제입니다: 다음 코드 예제에서는 트리 뷰 제어 항목에 대한 식별 번호를 가져옵니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국의 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주에 대한 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 이 코드 예제는 루트 국가/지역 노드에 대한 고유 식별 번호를 가져옵니다. tvN_BEGINLABELEDIT을 받으면 0이 아닌 값을 반환하여 항목 레이블을 편집하지 못하도록 할 수 있습니다. 또는 tvN_BEGINLABELEDIT 처리기에서 레이블의 문자 수를 제한할 수 있습니다.

사용자가 편집 항목 레이블을 취소하거나 완료하면 tvN_ENDLABELEDIT가 트리거됩니다. TVN_ENDLABELEDIT 처리기에서 TVM_SETITEM 메시지와 함께 항목의 실제 텍스트를 업데이트하는 것은 사용자의 responsibiltiy입니다. 다음은 tvN_ENDLABELED처리기 함수의 예입니다. 트리 뷰 컨트롤의 각 항목에는 비트매핑된 이미지 쌍이 연관되어 있을 수 있습니다. 항목을 선택하면 한 이미지가 표시되고 다른 이미지는 항목을 선택하지 않을 때 표시됩니다. 예를 들어 항목이 선택될 때 열려 있는 폴더와 선택하지 않을 때 닫힌 폴더가 표시될 수 있습니다. 이 예제에서는 트리 컨트롤 항목을 삽입할 때 함수의 각 버전을 사용할 수 있는 상황을 보여 주며 있습니다. 루프에서 GetNextItem을 사용하는 예는 CTreeCtrl::DeleteItem을 참조하십시오. nStateMask에서 지정한 값의 비트 OR을 보유하는 UINT입니다. 가능한 값에 대한 자세한 내용은 CTreeCtrl::GetItem을 참조하십시오. 특정 상태에 대한 값을 찾으려면 다음 예제와 같이 상태 값과 반환 값의 BITWISE AND 작업을 수행합니다.

트리 컨트롤은 물리적 트리로 정렬되었지만 약간 거꾸로 정렬된 항목의 계층적 목록을 표시하는 개체입니다.

Posted in Uncategorized