2008. 5. 15. 11:09
리스트컨트롤 아이템 자동 선택 하기 Programing/Windows Programing2008. 5. 15. 11:09
리스트컨트롤을 사용하는데 자동으로 선택해와야 하는 경우가 생겨 찾아보니
데브피아에 저런 내용이 검색되었다
저도 같은 내용을 검색 하다가 다음과 같은 내용을 찾았습니다. 즐프.. ^^;
ListCtrl::SetSelectionMark(int i) : i번째 item을 선택하는 것은 맞습니다.
단지 포커스까지 주지 않기때문에 표시(파란줄)가 되지 않을 뿐이지 내부적으로 현재 선택된 아이템은 i번째 아이템입니다.
m_list1.SetItemState(i, LVIS_SELECTED, LVIS_SELECTED) : 이것만 사용하시면 문제가 발생할 수 있습니다.
내부적으로 자동 선택된 아이템의 인덱스와 표시(파란줄)된 아이템의 인덱스가 달라질 수 있거든요..
표시된 아이템을 삭제하려고 삭제 버튼을 눌렀는데 딴 아이템이 삭제되는 일이 생길 수 있겠죠..
그래~서 이렇게 사용하시면 깔끔하실 듯 싶습니다.^^호호
m_cListCtrl.SetSelectionMark(i);
m_cListCtrl.SetItemState(i, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
m_cListCtrl.SetFocus();
깔끔하게 해결되는구만 -ㅂ-;
'Programing > Windows Programing' 카테고리의 다른 글
FMod 기본 사용법 (0) | 2008.05.21 |
---|---|
프로그램 Alt+F4 감지 (0) | 2008.05.17 |
List Ctrl 아래로 정렬 시키기 (0) | 2008.05.14 |
특정 컨트롤 시스템키 조합 이벤트 설정 (0) | 2008.05.10 |
루프문 동작중 키보드 입력으로 탈출하기 (0) | 2008.05.10 |