반응형
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)트리 컨트롤 몇 번째 아이템인지 조회
'Programming' 카테고리의 다른 글
[Image Processing] Tolerance, Threshold 정리 (0) | 2019.01.02 |
---|---|
VS 정의피킹(Peek Definition, Alt+F12) 안될 때 (2) | 2019.01.02 |
사이즈별 샘플 이미지 구하는 사이트 (0) | 2018.11.16 |
통신 제어 문자(STX, ETX, CR, LF...) (0) | 2018.11.06 |
[C#] 랜덤 문자열 생성 함수 (1) | 2018.09.14 |