TVN_SELCHANGED
- 한 항목에서 다른 항목으로 선택이 변경 되었을 때 발생하는 메시지
현재 선택된 트리뷰의 아이템 얻기
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
HTREEITEM hItem = pNMTreeView->itemNew.hItem;
즉, HTREEITEM hItem = pNMTreeView->itemNew.hItem;
hItem 으로 선택된 아이템(항목) 에 대한 작업을 하면 된다.
이벤트 메시지가 발생한 상황 판별
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
pNMTreeView->action; |
action 값을 조사하면 이벤트 메시지가 발생한 상황 판별 가능
TVE_EXPAND : 아이템 확장 시
4096 : Create된후에 포커스 받아서 Root가 선택되는 경우
0 : DeletaAllItems() 으로 호출됬을 경우
1 : 내가 선택했을 경우
cf). 내 경험상 DeleteAllItems() 함수 호출 때 발생하지 않던데...
발생하는 경우
1. OnInitialUpdate() 함수에서 TreeCtrl 에 항목을 추가 하였을 때
즉, 비어있는 TreeCtrl에 항목을 추가 시켰을 때 발생한다.
(Create된후에 포커스 받아서 Root가 선택되는 경우)
cf) NMTREEVIEW 구조체 정보
MSDN : http://msdn.microsoft.com/en-us/library/bb773411(VS.85).aspx
1 : 내가 선택했을 경우
cf). 내 경험상 DeleteAllItems() 함수 호출 때 발생하지 않던데...
발생하는 경우
1. OnInitialUpdate() 함수에서 TreeCtrl 에 항목을 추가 하였을 때
즉, 비어있는 TreeCtrl에 항목을 추가 시켰을 때 발생한다.
(Create된후에 포커스 받아서 Root가 선택되는 경우)
cf) NMTREEVIEW 구조체 정보
MSDN : http://msdn.microsoft.com/en-us/library/bb773411(VS.85).aspx