CSDN论坛 > VC/MFC > 基础类

请问在listctrl控件中如何得到当前选中项位置?? [问题点数:0分]

Bbs3
本版专家分:746
结帖率 100%
CSDN今日推荐
匿名用户不能发表回复!登录|注册
其他相关推荐
(MFC)CTreeCtrl得到当前选择项的方法
在CTreeCtrl的OnNMClick函数中,调用GetSelectItem()方法得到的总是前一个被选择的项。 调用如下方法,可以得到当前选择项。 HTREEITEM CLobbyTreeWnd::GetCurrentTreeItem() { TVHITTESTINFO HitTestInfo; ZeroMemory(&HitTestInfo, sizeof(HitTestInfo)
CListCtrl 失去焦点仍然显示选中高亮
CListCtrl中需要把选中的item高亮显示时只需要调用SetItemState传入LVIS_SELECTED就好。 但是这样需要把焦点设置到CListCtrl上,一旦CListCtrl失去焦点高亮就会消失。最近工作中遇到一个需求,需要让CListCtrl在失去焦点的情况下依然显示高亮的item。 总的来说有三种方法来实现这个功能。继承CListCtrl然后重绘太麻烦了不想用这个……NM_
MFC listctrl checkbox选中行同时选中
处理 ListCtrl 的 LVN_ITEMCHANGED 消息:  C/C++ code void CMyDlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if (pNMListView->iItem != -1) { i
MFC如何让ListCtrl的CheckBox只有一个处于选中状态
1、   要让ListCtrl的每一行的第一列为CheckBox,需要做如下设置:   listCtrl.SetExtendedStyle(m_listCtrl.GetExtendedStyle()|LVS_EX_CHECKBOXES);  2、   为了限制ListCtrl只能有一行的CheckBox处于选中状态,则需要:  响应ListCtrl的 LVN_ITEMCHANGE
CListCtrl选中某行
1、设置CListCtrl选中行 m_list.SetItemState(nIndex,LVIS_FOCUSED | LVIS_SELECTED,LVIS_FOCUSED | LVIS_SELECTED); 注意:这句代码只是让指定行高亮显示,如果使用后再用GetSelectionMark函数来得到选中行,结果往往是错误的。比如,先用鼠标点击选中第5行,调用GetSelectionMark函数
ListCtrl中获取点击处的行列号
<br /><br />void CListDlg::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult) <br />{<br /> <br />// TODO: Add your control notification handler code here<br /> <br /> m_List.InsertItem(0,"");<br /> <br /> LPNMITEMACTIVATE temp = (LPNMITEMACTIVATE) pNMHDR;//将传进
MFC listCtrl选中某一项,LIST失去焦点时,该项仍然显示高亮
//消息映射 ON_NOTIFY_REFLECT(NM_CUSTIOMDRAW,OnCUstomDraw) void CAppDlg::OnCustomdrawMyList ( NMHDR* pNMHDR, LRESULT* pResult ) { NMLVCUSTOMDRAW* pLVCD = reinterpret_cast( pNMHDR );   switch(pLV
MFC中ListCtrl设置选中项
用到的,记录一下: m_listctrlUsers.SetFocus();  // 这个必须的 BOOL brt = m_listctrlUsers.SetItemState(nItem, 0 , LVIS_SELECTED ); // unselected brt = m_listctrlUsers.SetItemState(nItem, LVNI_FOCUSED | LVNI
MFC中设置ListControl选中某一行,并且滑动(跳转)到选择行位置
MFC中设置ListControl选中某一行,并且滑动(跳转)到选择行位置,主要利用CListCtrl中的SetItemState和EnsureVisible实现 调用接口函数如下: void SetListControlAtPos(CListCtrl listCtrl, int iIndex) { //选中时第二个参数值为1,取消选中时第二个参数为0 listCtrl.SetItemSt
CListCtrl删除选中行和CListCtrl的用法(详)
CListCtrl删除选中行 CListCtrl选中行有两种属性情况,如果设置了Single Selection为TRUE,则只能单选,否则为多选(默认)。 方法一: int CListCtrl::GetSelectionMark(); 返回值:返回选中索引号,否则返回-1 说明:这个函数可以处理单行的情况,但是有一个缺点,它会保留你上次选中的项,所以当你单击空白的地方时
关闭