我以前很少用SendMessage, 就是用,也只是发送简单的自定义消息, 不附带参数.
现在想用SendMessage 向CListCtr发个双击事件,应该怎么办,怎么设置它的参数啊, void CMyDlg::OnDblclkListctrl(NMHDR* pNMHDR, LRESULT* pResult) 

解决方案 »

  1.   

    SendMessage(hWnd,WM_LBUTTONDBLCLK,0,MAKELPARAM(x,y))
      

  2.   

    先遍历窗体取得目标控件的句柄, 然后SendMessage或者PostMessage向控件发送双击操作  CWnd* pHWnd=FromHandle(hWnd); //hWnd是目标窗体的句柄, 本窗体即为m_hWnd
    CWnd* pWnd = pHWnd->GetWindow(GW_CHILD); 
      char cClassName[255]={0};
      while(pWnd) 
      {   
      GetClassName(pWnd->GetSafeHwnd(),cClassName,255);//得到控件的类名,主要有Edit,Button,Static等等
      if(strcmp(cClassName,"Edit") == 0) // Edit换成相应的CListCtr所对应的名称,是什么我也忘了
      {
      //在这里取得CListCtr的句柄ctlWnd,取得后向其发送消息
                               //SendMessage(ctlWnd,WM_LBUTTONDBLCLK,0,MAKELPARAM(x,y)),查查这个的用法  }
      pWnd = pWnd->GetWindow(GW_HWNDNEXT);
      }
      

  3.   

    http://blog.chinaunix.net/u2/63021/showart_1099272.html
    以前做VOD点击器的时候用BM_CLICK,比WM_LBUTTONDBLCLK好用.
    //标准按钮控件
    PostMessage(hwnd, BM_CLICK, 0, 0);
      

  4.   

    CListCtr的双击消息是HDN_ITEMDBLCLICK,你看下MSDN的使用方法就知道了.
      

  5.   

    这个要发WM_NOTIFY消息,有点罗嗦,你上网搜一下吧。
      

  6.   

    谢楼上各位,心苦你们了 但我还想再让大家说清点,最好加代码。。我的是基于对话的程序,上面有个按钮和一个ClistCtrl。要求就是当按下钮时,向CListCtrl发送一个双击事件(CListCtrl里其中一个项目被双击的事件)。
    就是模拟CListCtrl的双击事件。
    怎么办啊??