CListCtrl如何识别所选择的Item

本文介绍在CListCtrl控件中如何通过响应LVN_ITEMCHANGED消息来获取被选中项目的索引,并通过示例代码展示了如何判断项目是否被激活或取消激活。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一个CListCtrl控件中,当单击某项Item时,如何识别所选择的Item的索引呢?

1.响应  LVN_ITEMCHANGED消息

2.书写如下代码

void CDlg::OnItemchangedListCmpcpy(NMHDR* pNMHDR, LRESULT* pResult)
{
     NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
 
     UINT uOldState = pNMListView->uOldState;   
     UINT uNewState = pNMListView->uNewState;   
     int nSelected  = pNMListView->iItem;  

 

     if(nSelected != -1)   
     {
          //selection   activate   
          if(!(uOldState & LVIS_SELECTED) && (uNewState & LVIS_SELECTED))   
          {
               m_nSel = nSelected;
          }   
    
          //selection   deactivated   
          if((uOldState & LVIS_SELECTED) && !(uNewState & LVIS_SELECTED))   
          {
               m_nSel = -1;
          }
     }
 
 *pResult = 0;
}

 

其实这个很简单,只是当作笔记吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值