我在列表控件上显示  姓名  张三
  李四
  王五我如何动态让李四这条记录处于选择状态,也许李四不是在第二条记录上,我如何根据李四这个条件来使这条记录处于选择状态.顶者有分!

解决方案 »

  1.   

    CListCtrl::FindItem选择:  
    m_listctrl.SetItemState(index,  LVIS_SELECTED,  LVIS_SELECTED);  
     
    取消选择:  
    m_listctrl.SetItemState(index,  0,  LVIS_SELECTED);
      

  2.   

    能不能具体说说FindItem的使用,还有我希望选择到某记录时能像手动选择时出现一个颜色框显示已选择该项.
      

  3.   

    LVFINDINFO info;
    int nIndex;info.flags = LVFI_PARTIAL|LVFI_STRING;
    info.psz = "李四";nIndex=m_listctrl.FindItem(&info)m_listctrl.SetItemState(nIndex,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
    nIndex就是你要的行的行号如果nIndex=m_listctrl.FindItem(&info)整个返回-1
    说明查找失败了
      

  4.   

    用FindItem查找成功,但就算直接用m_listctrl.SetItemState(1,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
    没颜色框显示已选择这一项。
    我希望记录1能像手动选择时一样出现一个颜色框显示已选择该项.
      

  5.   

    能否借楼主这个帖子问个小问题:列表控件在双击响应下如何得到所选行的值(report型,希望得到对应各colume的值,因为要作赋值运算).谢谢