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;
}