回 帖 发 新 帖 刷新版面

主题:[讨论]急!!!请问怎样知道鼠标在CListCtrl中选择了哪一项?

如题.

就是说我通过对话框编辑器在对话框创建了一个 List Control控件, (CListCtrl)

然后我用这个来显示列表
如果我鼠标单了列表中的一项, 那一项就自动被高亮了, 
可是我怎么通过代码知道是哪一项被选中了?

急求解答!!!

回复列表 (共1个回复)

沙发

呵呵,终于找到解决这个问题的方法了, 方法二我试了, 可以~
摘自:http://www.cnblogs.com/duzouzhe/archive/2010/01/12/1645133.html
方法一:
      CString str;
      for(int i=0; i      {
           if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
           {
                str.Format(_T("选中了第%d行"), i);
             nbsp;  AfxMessageBox(str);
           }
      }

      方法二:
      POSITION pos = m_list.GetFirstSelectedItemPosition();
      if (pos == NULL)
           TRACE0("No items were selected!\n");
      else
      {
           while (pos)
           {
                int nItem = m_list.GetNextSelectedItem(pos);
                TRACE1("Item %d was selected!\n", nItem);
                // you could do your own processing on nItem here
           }
      }


我来回复

您尚未登录,请登录后再回复。点此登录或注册