Используйте LVN_ITEMCHANGED
код уведомления.
NOTIFY_HANDLER(IDC_FILELIST, LVN_ITEMCHANGED, OnListViewItemChanged)
LRESULT CMainDlg::OnListViewItemChanged(int, LPNMHDR hdr, BOOL&) {
NMLISTVIEW* lpStateChange = reinterpret_cast<NMLISTVIEW*>(hdr);
if ((lpStateChange->uNewState ^ lpStateChange->uOldState) & LVIS_SELECTED) {
// Do something
}
return 0;
}