获取CListCtrl选中行行号的多种方法
来源:互联网 发布:6寸windows平板 编辑:程序博客网 时间:2024/05/21 22:46
获取选中行的行号分为获取选中多行的行号和获取单行选中的行号。以下代码都经过测试没问题,涉及到一些函数请自行查询MSDN.
获取多行选中的行号:
方法一:
CString str; for(int i=0; i<m_List.GetItemCount(); i++) { if( m_List.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED ) { str.Format(_T("选中了第%d行"), i); AfxMessageBox(str); } }
方法二:
CString str; POSITION pos = m_List.GetFirstSelectedItemPosition(); if (pos == NULL) TRACE0("No items were selected!/n"); else { while (pos) { int nItem = m_List.GetNextSelectedItem(pos); TRACE1("Item %d was selected!/n", nItem); str.Format(_T("选中了第%d行"), nItem); AfxMessageBox(str); } }
获取单行选中行号的:
方法一:
CString str; int nIdx=m_List.GetSelectionMark();if (nIdx<0){AfxMessageBox(_T("没有选中任何行")); } else{str.Format(_T("选中了第%d行"), nIdx); AfxMessageBox(str);}
获取选中的行号和列号:
方法一:需要添加NM_CLICK消息的响应函数,也就是单击消息响应:
DWORD dwPos = GetMessagePos(); CPoint point( LOWORD(dwPos), HIWORD(dwPos) ); m_List.ScreenToClient(&point); LVHITTESTINFO lvinfo; lvinfo.pt = point; lvinfo.flags = LVHT_ABOVE; int nItem = m_List.SubItemHitTest(&lvinfo); if(nItem != -1) { CString strtemp; strtemp.Format(_T("单击的是第%d行第%d列"), lvinfo.iItem, lvinfo.iSubItem); AfxMessageBox(strtemp); }
方法二:
需要添加NM_CLICK消息的响应函数,也就是单击消息响应:
void Ctest111Dlg::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult){LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);// TODO: 在此添加控件通知处理程序代码NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if(pNMListView->iItem != -1) { CString strtemp; strtemp.Format(_T("单击的是第%d行第%d列"), pNMListView->iItem, pNMListView->iSubItem); AfxMessageBox(strtemp); } *pResult = 0;}
0 0
- 获取CListCtrl选中行行号的多种方法
- [置顶] 获取CListCtrl选中行行号的多种方法
- CListCtrl获取当前选中行索引号
- ClistCtrl 获得选中项的方法
- CListCtrl 空间删除选中行的方法
- mfc获取CListCtrl控件的选中表头和内容
- VC中CListCtrl获取当前选中行索引号
- vc CListCtrl 如何判断列表中的内容是否被选中?如何获取CListCtrl当前选中的行
- 获取inflater的多种方法
- 实现select动态添加option并选中的多种方法
- C#中获取路径的多种方法
- C/C++获取文件大小的多种方法
- PHP获取IP的多种有效方法
- JAVASCRIPT获取对象的多种方法!
- 多种获取字符串像素长度的方法
- PHP获取IP的多种有效方法
- php获取本地ip的多种方法
- jQuery获取多种input值的方法
- SQL数据库group by的用法--从相同记录中查找任意一条记录
- BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播
- Nginx 开发从入门到精通
- 基于hough变换和卡尔曼滤波的车道线检测算法
- Android Studio当中的编码问题
- 获取CListCtrl选中行行号的多种方法
- Eclipse创建Maven项目
- C语言函数调用栈剖析
- Linux下常用的函数调用栈规范
- 轻松管理你的NodeJs版本
- rosbag的使用
- Android Service
- Yii之数据安全
- MATLAB绘图参数汇总小记