作了个list控件的双击响应函数OnDblclk() 鼠标移动到某行上单击后,选中该条目.再在空白处单击时,并不能将选中框移走.双击该空白处,仍然是之前选中行的响应.请问高手该如何处理,使得单击空白处可以移走之前选中框的位置.

解决方案 »

  1.   

    int nIndex = m_List.GetCurSel();
    if( nIndex != LB_ERR )
    {//里面写你想执行的代码
    }
      

  2.   

    得到当前选中行的行号的方法有两种
    1、int nIndex=m_List.GetNextItem(-1,LVNI_SELECTED);  //得到选中行的行号
    2、OnRclickList(NMHDR* pNMHDR, LRESULT* pResult)  //处理右键信息
    {
    LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
    int nIndex=pNMLV->iItem;  //得到鼠标选中的行数
             .......
    }
      

  3.   

    POSITION pos = m_XDGLListCtrl.GetFirstSelectedItemPosition();
    int m_nIndex =m_XDGLListCtrl.GetNextSelectedItem(pos);  // 得到项目索引
    if(m_nIndex!=-1)
    .....