当前位置:网站首页>MFC 给列表控件发送左键单击、双击、以及右键单击消息

MFC 给列表控件发送左键单击、双击、以及右键单击消息

2022-07-06 07:50:00 donghuangliuyun

void CTestsetting::SendClickToList()
{
    
	NMITEMACTIVATE NMItemActive;
	NMHDR thdr;
	thdr.code = NM_CLICK;					//NM_CLICK单击 NM_DBLCKL 双击 NM_RCLICK右键单击
	thdr.hwndFrom = m_TestsetList.m_hWnd;	//m_TestList是列表控件关联的变量
	thdr.idFrom = IDC_TESTSETTING_LIST;		//IDC_TESTSETTING_LIST 列表控件ID
	NMItemActive.hdr = thdr;
	NMItemActive.iItem = m_TestsetList.GetItemCount();
	NMItemActive.iItem = 0;					//设置选中第几行
	NMItemActive.iSubItem = 1;				//设置选中第几列
	m_TestsetList.SetSelectionMark(0);
	SendMessage(WM_NOTIFY, IDC_TESTSETTING_LIST, (LPARAM)&NMItemActive);	//把消息发送给列表所在地父窗口,由父窗口转发,而不是直接转发给列表
}

添加列表左键单击响应函数

void CTestsetting::OnNMClickTestsettingList(NMHDR* pNMHDR, LRESULT* pResult)
{
    
	//因为是测试所以是随便写的变量
	LPNMITEMACTIVATE temp = (LPNMITEMACTIVATE)pNMHDR;//将传进来的消息转换成LPNMITEMACTIVAT
	int nItem = temp->iItem;//获得行号
	int nSubItem = temp->iSubItem;//获得列号
	TRACE("%d, %d\n", nItem, nSubItem);
	*pResult = 0;
}
原网站

版权声明
本文为[donghuangliuyun]所创,转载请带上原文链接,感谢
https://blog.csdn.net/renbenliu/article/details/125618363