본문 바로가기
MFC

Detect a CListCtrl selection change

by leo21c 2018. 6. 18.

구글을 검색해서 찾은 내용이다.

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_index = pNMListView->iItem;

        /// Do something~

    }

}