转贴:如何得到ListControl选中的项 ListControl选中一行

来源:百度文库 编辑:神马文学网 时间:2024/04/26 17:30:54

大家都知道,ListControl只能点击第一列来选中想选中的项,而很多朋友想实现点击直接选择一行的功能,其实很简单,直接把它的ExtentedStyle设置一下就可以了,如下:

m_listcontrol为控件CListCtrl*变量
点击选中一行:m_listcontrol.SetExtendedStyle(m_listcontrol.GetExtendedStyle()|LVS_EX_FULLROWSELECT);

而如何得到具体一项里面的值,又成了很多朋友的问题,其实也很简单,下面是我知道的一种方法:

得到具体的某一项:
CString str;
int nId;
//首先得到点击的位置
POSITION pos=m_listcontrol.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox("请至少选择一项","娃子理财",MB_ICONEXCLAMATION);
return;
}
//得到行号,通过POSITION转化
nId=(int)m_listcontrol.GetNextSelectedItem(pos);
//得到列中的内容(0表示第一列,同理1,2,3...表示第二,三,四...列)
str=m_listcontrol.GetItemText(nId,0);
str=m_listcontrol.GetItemText(nId,1);