当用户在CListCtrl中选择一行时,我想执行一些代码(报告 View ,我不在乎其他查看模式)。

我如何捕捉这个事件?有没有我可以映射的消息或诸如“OnSelectionChanged”之类的方法?

最佳答案

也可以尝试:

BEGIN_MESSAGE_MAP(cDlgRun, CDialog)
    ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST2, OnItemchangedList2)
END_MESSAGE_MAP()

/* ... */

void cDlgRun::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult)
{
    NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;

    if ((pNMListView->uChanged & LVIF_STATE)
        && (pNMListView->uNewState & LVIS_SELECTED))
    {
        // do stuff...
    }
}

关于visual-c++ - 如何检测CListCtrl选择更改?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1462895/

10-13 03:22