各位大哥大姐:
    您们好,小弟初学,有个问题要请教您们,我在listCtrl里面添加了一些icon,然后把这些icon放在了一个子窗口上,请问当我点击了一个图标后,怎么知道选中的是哪一个,响应选中方法是什么?响应它的消息是那个?怎么获取他的句柄?问题问的太罗嗦了,不好意思,呈请各位帮忙,小弟非常感谢。

解决方案 »

  1.   

    响应该空间的NM_CLICK事件
    在里面加入类似如下代码
    UINT i, uSelectedCount = pmyListCtrl->GetSelectedCount();
    int  nItem = -1;// Update all of the selected items.
    if (uSelectedCount > 0)
    {
       for (i=0;i < uSelectedCount;i++)
       {
          nItem = pmyListCtrl->GetNextItem(nItem, LVNI_SELECTED);
          ASSERT(nItem != -1);
       }
    }
      

  2.   

    CListCtrl, CTreeCtrl都是用 LVIS_SELECTED, TVIS_SELECTED属性来确定一个Item是不是被选中了。
      

  3.   

    也可以用Position来
    POSITION p;
    p=GetFirstSelectedItemPostion();
    while(p)
    {
       nitem=GetNextSelectedItem(p);
       ...................
    }
      

  4.   

    NM_CLICK我昨天就是试了一下,他不响应这个消息啊,对ON_WM_MOUSEACTIVATE这个消息响应,但是他是对整个子窗口鼠标点击都响应。
      

  5.   

    我是利用Codejock在多文档中添加了一个Pane,在pane上创建了一个listCtrl的,然后在上面加的icon