• QQ
  • nahooten@sina.com
  • 常州市九洲新世界花苑15-2

技术天地

MFC形式下List Control怎样完成双击获取内容

原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/2019/0706/566.html

 
//添加一个NM_DBCLK的音讯
//以下是音讯响应函数
void CCListCtrlTestDlg::OnDblClkItem()
{
//获取选中的的一个位置
POSITION p=m_listCtrl.GetFirstSelectedItemPosition();
if (p == NULL)
{
TRACE("没有行被选中!");
}
//获取刚选取的位置的下标(从0开端的)
int index = m_listCtrl.GetNextSelectedItem(p);
//取得选中的内容
//得到第index行.第0列的内容(下标从0开端)
CString FirstColumn=m_listCtrl.GetItemText(index,0);
//得到第index行,第1列的内容
CString SecondColumn=m_listCtrl.GetItemText(index,1);
}
第二种办法:
能够增加一个LVN_ITEMCHANGED的音讯
当鼠标指向的"行"发作变化,该音讯就会被触发.
void CCListCtrlTestDlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
{
//一切的控件都是在视图上停止操作的,这里系统会自动保管我们选中那行的信息.就在pNMHDR类型中.
//将该视图类型转换成我们需求的类型NM_LISTVIEW.
//这是针对列表控件的视图类型
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if (pNMListView->uNewState&LVIS_SELECTED) //判别能否为选中状态
{
/取得选中的内容
//得到第index行.第0列的内容(下标从0开端)
CString FirstColumn=m_listCtrl.GetItemText(index,0);
//得到第index行,第1列的内容
CString SecondColumn=m_listCtrl.GetItemText(index,1);
}
}

上篇:上一篇:VS2008中在静态库中运用MFC编译错误
下篇:下一篇:MFC对话框list control 初始化办法