본문 바로가기

C, C++, C#/MFC

MFC 트리컨트롤 선택

반응형

트리컨트롤 선택 문자열 받기


학교 과제를 하면서 추가점을 받으려고 간단한 제출용 인사 프로그램을 만들던 중 간만에 트리컨트롤을 쓰니 헷갈려서 포스팅해요!


저는 문자열을 받아서 리스트와 문자를 보고 맵핑 했습니다. 


다른 방법도 있을거 같아요(예를 들어 트리컨트롤의 인댁스? 를 받아온다던지) 


전 당장 몇일 후가 제출이여서 저는 문자열로 맵핑했습니다.


트리컨트롤(멤버변수) : m_tree




1. 트리 컨트롤 선택

2. 속성창 선택

3. 번개표시(이벤트 창) 선택

4. TVN_SELCHANGED 선택(트리 컨트롤이 다른 항목으로 선택 변경된 이벤트)












OnTvnSelchangedTree1 이벤트 입니다.


LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);


HTREEITEM hItemRoot;

HTREEITEM hItemParent;

HTREEITEM hItemCur;


CString strRoot;

CString strParent;

CString strCur;

CString strTxt;


hItemCur = pNMTreeView->itemNew.hItem;

hItemParent = this->m_tree.GetParentItem( hItemCur );

hItemRoot = this->m_tree.GetParentItem( hItemParent );


strRoot = m_tree.GetItemText(hItemRoot);

strParent = m_tree.GetItemText(hItemParent);

strCur = m_tree.GetItemText(hItemCur);


*pResult = 0;



해당 파란 부분에서 트리 컨트롤의 선택한 String값을 받아 올수 있습니다!!

Root와 Parent는 선택 한 트리의 상위 문자 입니다!!






반응형