用ListCtrl(report)显示大量数据,但要求提供这样的查找功能:  
  比如,当用户想找     姓名   =   张三  
  那么,ListCtrl就应定位在   姓名列   =     张三   ,同时该行显示蓝色现在,可以检索到用户想查找的元素,问题是如何实现该行变蓝。
谢谢。

解决方案 »

  1.   

    Ensures that a list view item is at least partially visible.  
    BOOL EnsureVisible(
       int nItem,
       BOOL bPartialOK 
    );
     
      

  2.   


      选中函数:  
      SetItemState(nItem,LVIS_SELECTED,LVIS_SELECTED);  
       
      滚动函数:  
      BOOL   EnsureVisible(   int   nItem,   BOOL   bPartialOK   );  
       
      搜索函数:  
      int   FindItem(   LVFINDINFO*   pFindInfo,   int   nStart   =   -1   )   const; 
    我这3个都试了,没有效果。
      

  3.   

    不会吧, 我现在还在用着了你是关联了imagelist???
    SetItem(m_LastToolTipRow, m_LastToolTipCol, LVIF_IMAGE, NULL, 0, 0, LVIS_SELECTED, 0); //add by jg
      

  4.   

    sorry, 那个是取消。。SetItem(hitinfo.iItem, hitinfo.iSubItem, LVIF_IMAGE, NULL, 1, 0, LVIS_SELECTED, 0);
      

  5.   

    SetItemState( m_curShownRow, LVIS_SELECTED | LVIS_FOCUSED , LVIS_SELECTED | LVIS_FOCUSED);
      

  6.   

    没关联图片。
    该listctrl控件的View是Report风格的。
      

  7.   

    SetItemState(xxx, LVIS_SELECTED | LVIS_FOCUSED , LVIS_SELECTED | LVIS_FOCUSED);这个没效果???不会吧?
      

  8.   

    嗯,没有效果。我是Use MFC为静态编译和Release模式下的。不知道有没有影响。
      

  9.   

    http://blog.csdn.net/skyremember/archive/2009/02/24/3933380.aspx