我想编写一个button的单击事件,然后事件里传递的参数和list ctrl的双击事件传递的参数一样。
OnDblclkLISTRecvList(NMHDR* pNMHDR, LRESULT* pResult)
其中,第一个参数传递的参数如下:
NMLISTVIEW* pListView=(NMLISTVIEW*)pNMHDR;
上面是list ctrl的双击事件函数,button的单击函数怎么写

解决方案 »

  1.   

    你可以将你NM_CLICK中的信息保存起来,供button的BN_CLICKED消息响应函数中使用
      

  2.   

    目前我的思路是这样的,原来的程序是通过双击list ctrl中的项来实现一个一个的操作。我想把程序进行改进,只用一个button控件,点击一下,就遍历整个listctrl项,把符合条件的项都实现双击list ctrl中的效果。
    想法是挺简单的,但是如果要实现就很困难。
    (1)遍历list ctrl每一行的实现;
    (2)onclick()中就没有参数,你所说的将nm_click的参数保存起来,供bn_clicked使用,怎么保存,怎么调用,我不太明白,请讲详细些,谢谢!!
    谢谢大家的关注和帮助~~
      

  3.   

    (1) 遍历CListCtrl中的每一项很容易
    int nCount = m_list.GetItemCount();// Delete all of the items from the list view control.
    for (int i=0; i < nCount; i++)
    {
       m_list.GetItemText(...);
       //...
    }
    (2)模拟双击CListCtrl中的某一项
    NMITEMACTIVATE item = {0};
    item.hdr.code = NM_DBLCLK;
    item.hdr.hwndFrom = m_list.GetSafeHwnd();
    item.hdr.idFrom = IDC_LIST1;
    item.iItem = 5;
    item.iSubItem = 1; // 这里模拟点击CListCtrl的第6行第2列
    SendMessage(m_list.GetParent(), WM_NOTIFY, (WPARAM)IDC_LIST1, (LPARAM)&item);
    http://blog.csdn.net/VisualEleven/archive/2011/04/11/6314779.aspx
      

  4.   

    明天仔细看看,谢谢你。VisualEleven
      

  5.   

    VisualEleven,您好,你有上面程序的demo吗?有的话发个给我参考下,非常感谢!!
    ][/email]
    谢谢~~
      

  6.   

    没有Demo例子,参考上面的代码即可,应该很容易的