• listctrl查找定位 使用测试过还很好用


    35、listctrl查找定位  使用测试过还很好用 


    // 简单的查找函数
    // FindString(CListCtrl& , 查找内容 , 开始位置 , 到达底部时是否从头查找)

    int FindString(CListCtrl& list,LPCTSTR str,int startIndex,BOOL warp /* = TRUE */){
     int colCount = list.GetHeaderCtrl()->GetItemCount();
     CString* field = new CString[colCount];

     int index;
     if(startIndex < 0) index = 0;
     else index = startIndex + 1;

     BOOL isFind = FALSE;
     int out = -1;

     for(; index < list.GetItemCount(); index ++){
      for(int col = 0; col < colCount; col ++)
       field[col] = list.GetItemText(index,col);

      for(int col = 0; col < colCount; col ++){
       if(field[col].Find(str) != -1){
        out = index;
        isFind = TRUE;
        break;
       }
      }

      if(isFind) break;
     }

     delete[] field;
     field = 0;

     if(warp)
      if(!isFind)
       list.SetItemState(-1,0,LVIS_SELECTED);

     return out;


    /*************************************************/

    //测试
    CListCtrl& list;    // 需要查找的LIST
    CString str = "test";  //需要查找的字符串
    int index = -1;  //开始位置

    index = FindString(list,str,index,TRUE);
    if(index != -1){
      list.EnsureVisible(index,FALSE);
      list.SetItemState(index,LVIS_SELECTED,LVIS_SELECTED);
      list.SetFocus();
    }

  • 相关阅读:
    SQL Server分页查询的万能存储过程
    前端相关及一些关键单词
    java shiro面试题
    java集合面试题
    芬芬购物系统基础配置2
    芬芬购物系统基础配置
    多线程安全
    多线程入门
    JAVA多线程
    java多线程
  • 原文地址:https://www.cnblogs.com/LJWJL/p/3725493.html
Copyright © 2020-2023  润新知