首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么获取列表控件所选择的行号

2012-01-23 
如何获取列表控件所选择的行号?我现在正在做毕业设计,需要用到列表控件,我想实现的功能是:列表控件得到数

如何获取列表控件所选择的行号?
我现在正在做毕业设计,需要用到列表控件,我想实现的功能是:列表控件得到数据后,我选择任意一行,然后把这一行的数据传到令一个函数中,如何才能实现呢,恳求大虾们的帮助!

[解决办法]
POSITION pos = listctrl.GetFirstSelectedItemPosition();
while (pos)
{
int nItem = listctrl.GetNextSelectedItem(pos);
TRACE1("Item %d was selected!\n", nItem);
// you could do your own processing on nItem here
}

[解决办法]

C/C++ code
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();if (pos == NULL){   TRACE(_T("No items were selected!\n"));}else{   while (pos)   {      int nItem = m_myListCtrl.GetNextSelectedItem(pos);      TRACE(_T("Item %d was selected!\n"), nItem);      // you could do your own processing on nItem here   }}
[解决办法]
int iItem = -1;
CString cCurStr;
iItem = m_ctlList.GetSelectionMark();
cCurStr = m_ctlList.GetItemText(iItem,0);
……

调用GetItemText得到所有列的数据,然后作为参数传递给函数
[解决办法]

GetFirstSelectedItemPosition
GetNextSelectedItem
GetItemText
[解决办法]
鼠标点击某一行会产生控件的一个事件
[解决办法]
//获取选中的行号.
inti=m_list.GetNextItem(-1,LVNI_SELECTED);
if(-1==i)
{
return;
}
else
{
//根据列表控件被选中的行号来获取并操作该行的信息。 
}

[解决办法]
GetFirstSelectedItemPosition ()
GetNextSelectedItem()
[解决办法]
响应列表控件控件的单击函数
LVHITTESTINFO info;
info.pt=point; //point鼠标所在点的坐标
info.flags=LVHT_ONITEMLABEL;
//SubItemHitTest(&info)用来取得鼠标点击的所在行列
if(listctrl.SubItemHitTest(&info)>=0){
row=info.iItem;//行
col=info.iSubItem;//列

}

热点排行