VC CListControl中按下Ctrl(或Shift)多选项目和取值的实现

来源:互联网 发布:动漫抱枕淘宝店铺推荐 编辑:程序博客网 时间:2024/06/08 03:40

1、在设计模式中设置列表控件Styles属性

 View:report  Align:Top ,Single Selection复选按钮“取消对勾”。

2、定义成员变量CListCtrl m_ctlList,并在CListCtrlDemoDlg::OnInitDialog()中初始化

 m_ctlList.SetExtendedStyle( LVS_EX_FULLROWSELECT );

3、在OnClickListctrl事件中实现,代码如下:

void CListCtrlDemoDlg::OnClickListctrl(NMHDR* pNMHDR, LRESULT* pResult)
{
 CString s1="", s2="", s3="";
 POSITION pos = m_ctlList.GetFirstSelectedItemPosition();
 while(pos)
 {
  int nItem = m_ctlList.GetNextSelectedItem(pos);
  CString strinfo;
  s1+=m_ctlList.GetItemText(nItem,0)+",";
  s2+=m_ctlList.GetItemText(nItem,1)+",";
  s3+=m_ctlList.GetItemText(nItem,2)+",";
  strinfo.Format("%s :%s :%s", s1, s2, s3);
  GetDlgItem(IDC_STATIC1)->SetWindowText(strinfo);
 }
 *pResult = 0;
}

原创粉丝点击