Programming
[C++/MFC] 트리메뉴 컨트롤 선택 아이템 인덱스 구하기
Lunik
2018. 11. 19. 11:45
반응형
MFC의 트리메뉴 컨트롤의 아이템 선택 이벤트 후 해당 선택된 아이템의 인덱스를 리턴하는 메소드가 없다.
편법으로 아이템 이름으로 찾는 방법도 있지만 코드가 길어지고 추가/수정이 복잡해진다.
구글링 결과 index를 구하는 방법을 찾았다.
OnTvnSelchanged 이벤트 메소드에서 child 아이템을 루프 태우면서 현재 선택된 item인지 체크하면서 증가 시키는 것이다.
이생각을 왜 못했는지..
코드의 일부는 아래와 같다. 전체는 출처로 이동해서 확인하길 바란다.
int index = 0;
HTREEITEM hItem = m_treeCtrl.GetSelectedItem();
HTREEITEM hChild = m_treeCtrl.GetChildItem(NULL);
while (hChild)
{
if (hChild == hItem) break;
hChild = m_treeCtrl.GetNextItem(hChild, TVGN_NEXT);
++index;
}
출처 : C++/(MFC)트리 컨트롤 몇 번째 아이템인지 조회