如何获取当前选中的clistctrl的行和列
1个回答
展开全部
方法一: 单选的情况下
GetNextItem(-1,LVIS_SELECTED);
方法二:单选的情况下
如果只允许单选,只需要调用成员函数GetSelectionMark()就可以获取选中的行号,然后你再调用GetItemText()就可以获取选中行的文本。
方法三: 可以多选的情况下
CString str;
POSITION pos=list.GetFirstSelectedItemPosition(); //pos选中的首行位置
if(pss==NULL)
AfxMessageBox(L"no item were selected!");
else
{
while(pos) //如果选择多行
{
int nIdx=-1;
nIdx= list.GetNextSelectedItem(pos);
if(nIdx >=0&&nIdx<liste.GetItemCount())
{
str =list.GetItemText(nIdx,0);
}
}
}
GetNextItem(-1,LVIS_SELECTED);
方法二:单选的情况下
如果只允许单选,只需要调用成员函数GetSelectionMark()就可以获取选中的行号,然后你再调用GetItemText()就可以获取选中行的文本。
方法三: 可以多选的情况下
CString str;
POSITION pos=list.GetFirstSelectedItemPosition(); //pos选中的首行位置
if(pss==NULL)
AfxMessageBox(L"no item were selected!");
else
{
while(pos) //如果选择多行
{
int nIdx=-1;
nIdx= list.GetNextSelectedItem(pos);
if(nIdx >=0&&nIdx<liste.GetItemCount())
{
str =list.GetItemText(nIdx,0);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询