在ClassWizard里面转到MemberVariables,选上编辑框的ID后,点击右边Add Variables,输入名称就可以指定变量。以后调用该变量就行了。。
获得编辑框的代码如下:
UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。
UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。
//添加一个NM_DBCLK的消息
//以下是消息响应函数
void CCListCtrlTestDlg::OnDblClkItem()
{
//获取选中的的一个位置
POSITION p=m_listCtrlGetFirstSelectedItemPosition();
if (p == NULL)
{
TRACE("没有行被选中!");
}
//获取刚选取的位置的下标(从0开始的)
int index = m_listCtrlGetNextSelectedItem(p);
//获得选中的内容
//得到第index行第0列的内容(下标从0开始)
CString FirstColumn=m_listCtrlGetItemText(index,0);
//得到第index行,第1列的内容
CString SecondColumn=m_listCtrlGetItemText(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_listCtrlGetItemText(index,0);
//得到第index行,第1列的内容
CString SecondColumn=m_listCtrlGetItemText(index,1);
}
}
如果有不清楚,可以在线留言!
希望对你有帮助!
动态创建的和通过拖控件的CListCtrl一样,通过添加LVN_ITEMCHANGED消息响应,可以实现当前选中行的信息。如果是动态创建,IDC_LIST1是你动态创建的ListCtrl的ID。
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnLvnItemchangedList1)
以上就是关于MFC 编辑框中获取选中文字的信息!!全部的内容,包括:MFC 编辑框中获取选中文字的信息!!、C++MFC模式下List Control怎么实现双击获取内容、mfc 动态创建的 CListCtrl 如何获取选中行的信息 要响应什么消息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)