现在的位置: 首页 > 综合 > 正文

向本进程窗口中的ListView窗口发送NM_DBLCLK通知(SDK代码)

2013年06月10日 ⁄ 综合 ⁄ 共 589字 ⁄ 字号 评论关闭
  1. // 注意这里是向本进程的ListView窗口发送NM_DBLCLK通知,通过WM_NOTIFY消息,WM_NOTIFY不能跨进程,主要是因为SendMessage发送WM_NOTIFY消息最后一个LPARAM参数是个指针。  
  2. // MSDN上有明确说明:For Microsoft Windows 2000 and later systems, the WM_NOTIFY message cannot be sent between processes。  
  3.   
  4. int nId = ::GetDlgCtrlID(HWND_LISTVIEW); // HWND_LISTVIEW为ListView的窗口句柄  
  5.  NMITEMACTIVATE nmitem = {0};  
  6.  nmitem.hdr.code = NM_DBLCLK;  
  7.  nmitem.hdr.hwndFrom = HWND_LISTVIEW;  
  8.  nmitem.hdr.idFrom = nId;  
  9.  nmitem.iItem = 5;  
  10.  nmitem.iSubItem = 1; // 这里模拟点击ListView的第6行第2列  
  11.   
  12.  ::SendMessage(::GetParent(HWND_LISTVIEW), WM_NOTIFY, (WPARAM)nId, (LPARAM)&nmitem); 

抱歉!评论已关闭.