如何检测 CListCtrl 选择更改?

How to detect a CListCtrl selection change?(如何检测 CListCtrl 选择更改?)

本文介绍了如何检测 CListCtrl 选择更改?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当用户在 CListCtrl 中选择一行时,我想执行一些代码(报表视图,我不关心其他查看模式).

I want to execute some code when the user selects a row in a CListCtrl (report view, I don't care about the other viewing modes).

我如何捕捉这个事件?是否有一些我可以映射的消息或类似OnSelectionChanged"之类的方法?

How do I catch this event? is there some message I can map or a method like "OnSelectionChanged" or something like that?

推荐答案

也试试:

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...
    }
}

这篇关于如何检测 CListCtrl 选择更改?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何检测 CListCtrl 选择更改?

基础教程推荐