본문 바로가기

CListCtrl3

Detect a CListCtrl selection change 구글을 검색해서 찾은 내용이다.LVN_ITEMCHANGED 메시지를 이용해서 확인할 수 있다. BEGIN_MESSAGE_MAP(CDlgTest, CDialog) ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST, OnItemChangedList)END_MESSAGE_MAP() /* ... */ void cDlgRun::OnItemChangedList(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if ((pNMListView->uChanged & LVIF_STATE) && (pNMListView->uNewState & LVIS_SELECTED)) { int selected_item_ind.. 2018. 6. 18.
Select, Deselect a CListCtrl Item Programmatically 프로그래밍으로 CLIstCtrl의 Item을 선택 또는 해제하고 Highlight 처리하는 방법.구글에서 이것 저것 다 찾아 봤다. SetItemState 함수를 이용해서 처리한다고 여러곳에 설명되어 있는데 내가 원하는 것처럼 되지 않았다.내가 원하는 것은 Up/Down 버튼으로 List의 선택한 Row를 바꾸는 것이다. 예를 들어 1st Row가 Select 되어 있을 때 Down 버튼을 누르면 1st Row의 Highlight가 사라지고 2nd Row가 선택되어 Highlight가 되는 것이다.아래 함수처럼 Down 버튼을 클릭하면 버튼에 포커스가 이동된다. 따라서 현재 선택된 Item을 해제하고 다음 Item을 선택해서 Highlight를 이동하게 한다.그리고 ListCtrl에 포커스를 줘서 Hig.. 2018. 6. 18.
CListCtrl DeleteItem https://msdn.microsoft.com/ko-kr/library/84fyba4z.aspx List View에서 특정 Row을 삭제할 때 주의를 해야 한다. 아래와 같이 DeleteItem에 i번째 Row을 삭제하라고 처리하면 정상적으로 삭제가 되지 않는다. int nCount = m_myListCtrl.GetItemCount(); // Delete all of the items from the list view control.for (int i=0; i < nCount; i++){m_myListCtrl.DeleteItem(i);} n번째부터 m번째까지 삭제를 한다면 아래와 같이 구현을 해야 정상적으로 처리된다.n번째를 m-n번 만큼 삭제를 하면 n부터 m까지 Row가 삭제된다. int nCoun.. 2018. 5. 15.
LIST