在CListCtrl中获取当前选择行的方法有多种,具体取决于是否允许多选。 单选情况 使用GetSelectionMark()方法: 如果CListCtrl控件只允许单选,可以直接调用GetSelectionMark()方法来获取当前选中的行号。 cpp int nSelectedRow = listCtrl.GetSelectionMark(); 使用GetNextItem
不知道你的CListCtrl是否允许多选,如果只允许单选,你只需要调用成员函数GetSelectionMark()就可以获取选中的行号,然后你再调用GetItemText()就可以获取选中行的文本。 方法三: 可以多选的情况下 CString str; POSITION pos=list.GetFirstSelectedItemPosition(); //pos选中的首行位置 if(pss==NULL) AfxMessageBox(L"no ...
LVIS_FOCUSED | LVIS_SELECTED); //选中行 m_list.SetSelectionMark(nIndexs); 2、取消CListCtrl选中行 m_list.SetItemState(nIndex, 0, LVIS_SELECTED); m_list.SetSelectionMark(-1); 3、CListCtrl选中行改变 项目中用到ClistCtrl,当选中行改变时,另外一个控件的详细信息也随之改变,最开始使用鼠标点击事件: ...
第一和第二个参数为用于比较的两项的ItemData,你可以通过DWORD CListCtrl::GetItemData( int nItem )/BOOL CListCtrl::SetItemData( int nItem, DWORD dwData )来对每一项的ItemData进行存取。在添加项时选用特定的CListCtrl::InsertItem也可以设置该值。由于你在排序时只能通过该值来确定项的位置所以你应该比较明确...
CListCtrl获取当前选中行索引号 简介:方法一: 单选的情况下GetNextItem(-1,LVIS_SELECTED); 方法二:单选的情况下不知道你的CListCtrl是否允许多选,如果只允许单选,你只需要调用成员函数GetSelectionMark()就可以获取选中的行号,然后你再调用GetItemText()就可以获取选中行的文本。
GetCurSel() 这个是CCOMBOBOX里面的,CString str;POSITION pss=m_ListPage.GetFirstSelectedItemPosition();//pos就是行索引号,晕 int i=0;if(pss==NULL)AfxMessageBox("no item were selected!");else { while(pss)//关键,如果你选择多行 { int nIdx=-1;nIdx= m_ListPage....
6 获取选中行的索引,默认情况下,CListCtrl是支持多选的,支持Ctrl和Shift操作,如果需要单选,可以将控件的Single Selection设为true或者添加LVS_SINGLESEL属性,这里介绍两种方法:方法1:我们通过遍历所有行,然后挨行判断当前的状态即可CString str,str1=TEXT("选中的行数分别为:");for(int i=0; i<m_List...
CListCtrl m_myList; m_myList必须在创建时与一个ListCtrl控件绑定。 POSITION pos = m_myList.GetFirstSelectedItemPosition(); //while(pos != NULL) //如果可能选中多个 if(pos!=NULL) //这样就算选择多个也只取第一个 { int nItem = m_myList.GetNe ...
/// // 增加背景色彩 void CXXSortListCtrl::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult){ LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)pNMHDR;switch(lplvcd->nmcd.dwDrawStage){ case CDDS_PREPAINT:pResult = CDRF_NOTIFYSUBITEMDRAW; // ask for subitem notifications.break;case CD...
如果在网上搜索CListCtrl如何选中并高亮特定行,那么通常是如下的解决方案: 1、设置控件属性 listCtrl.SetItemState(index, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED |LVIS_SELECTED); listCtrl.SetSelectionMark(index); listCtrl.SetFocus(); 2、在对话框资源编辑器中将listCtrl的Always show selection属性设置为tr...