我的listctrl里
点击一个有数据的行时 这行会显示蓝色底 焦点也是这行当再点空白位置时(没有数据的行),刚才选择的那行蓝色底没有了,但还是有虚线这时的list.getitemselectmask还是刚才选择的那行我的目的是
在有数据的行 点右键弹出一个菜单
在没数据的行 点右键弹出另一个菜单谢谢高手了

解决方案 »

  1.   

    pos = m_listview.GetFirstSelectedItemPosition();
    if(pos==NULL)
    AfxMessageBox(_T("没有选中的记录!"),MB_ICONEXCLAMATION);
      

  2.   

    我靠...神童啊 我半天没弄明白的问题 2楼你几句话就解决了
    能给我讲讲GetFirstSelectedItemPosition()是什么意思吗
    得到第一次选择项目的位置?
    看不明白哦
      

  3.   

    GetFirstSelectedItemPosition()就是得到选择项的位置
      

  4.   

    >能给我讲讲GetFirstSelectedItemPosition()是什么意思吗
    >得到第一次选择项目的位置?
    -------------------------------------
    返回你 selected 的是第几行, 以 1 开始计数.
      

  5.   

    GetFirstSelectedItemPosition:  获取listctrl当前选择的哪几项的通用做法(跌代)CListCtrl::GetFirstSelectedItemPosition
    POSITION GetFirstSelectedItemPosition( ) const;Return ValueA POSITION value that can be used for iteration or object pointer retrieval; NULL if no items are selected.ResGets the position of the first selected item in the list view control.ExampleThe following code sample demonstrates the usage of this function.CListCtrl* pListCtrl = (CListCtrl*) GetDlgItem(IDC_YOURLISTCONTROL);
    ASSERT(pListCtrl != NULL);POSITION pos = pList->GetFirstSelectedItemPosition();
    if (pos == NULL)
       TRACE0("No items were selected!\n");
    else
    {
       while (pos)
       {
          int nItem = pList->GetNextSelectedItem(pos);
          TRACE1("Item %d was selected!\n", nItem);
          // you could do your own processing on nItem here
       }
    }
      

  6.   

    如果GetFirstSelectedItemPosition()是得到选择项的位置
    那getitemselectedmask又是什么意思呢