listctrl 有很多条记录,现要查找第一列。问题是,第一列的内容不唯一。如:aa
bb
cc
aa
dd
aa
怎么样才能得到aa的在哪些行?或者,能不能让列表从指定的行开始查找,查到下一个就返回当前行号?

解决方案 »

  1.   

    吐血,CListCtrl::FindItem本身就提供这个功能谁来接分?
      

  2.   

    可以使用FindItem函数,定义和原型如下:
    CListCtrl::FindItem
    Int FindItem(LVFINDFO* pFindInfo,int nStart=-1) const
    返回值
    如果成功,则返回项的索引值,否则为-1。
    参数
    pFindInfo 一个指向包含被搜索项有关信息的LVFINDFO结构的指针。
    nStart搜索开始项的索引值。如果等于-1, 则从头进行搜索。否则,那么第nStart项包括在搜索范围内。
    说明
    使用该函数来搜索列表视图项中是否含有指定的字符。参数pFindInfo指向一个包含用于搜索列表视图项信息的LVFINDFO结构。