listctrl得到某行某列的值
2012-11-02 10:40 龙成 阅读(2353) 评论(0) 编辑 收藏 举报先添加消息响应,然后添加如下代码,获得列值
1 void C界面测试Dlg::OnNMRClickList1(NMHDR *pNMHDR, LRESULT *pResult) 2 { 3 LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); 4 m_line = pNMLV->iSubItem; 5 // TODO: 在此添加控件通知处理程序代码 6 *pResult = 0; 7 CMenu menu ,* pSubMenu; //定义下面要用到的cmenu对象 8 menu.LoadMenu(IDR_MENU1); //装载自定义的右键菜单 9 10 //获取第一个弹出菜单,所以第一个菜单必须有子菜单 11 pSubMenu = menu.GetSubMenu(0); 12 13 CPoint oPoint; //定义一个用于确定光标位置的位置 14 GetCursorPos( &oPoint); //获取当前光标的位置,以便使得菜单可以跟随光标 15 16 17 18 //在指定位置显示弹出菜单 19 pSubMenu->TrackPopupMenu (TPM_LEFTALIGN, oPoint.x, oPoint.y, this); //第四个为传递的参数 20 // MessageBox(_T("123")); 21 }
获取行值
1 index = m_listctrl.GetSelectionMark();
得到结果
1 MessageBox(m_listctrl.GetItemText(index,m_line));