WEB开发网
开发学院软件开发VC 遍历和查找外部程序 Tree-View 中的项目 阅读

遍历和查找外部程序 Tree-View 中的项目

 2007-03-17 21:59:26 来源:WEB开发网   
核心提示: /*Tree-View Control_Demo_SeqShow 1.0 版*版权所有 (C) 2006 天津 赵春生*2006.08.28*http://timw.yeah.net*http://timw.126.com*本程序能顺序遍历TV控件中的所有项目,*代码在Win2000P+S
  /*  Tree-View Control_Demo_SeqShow 1.0 版
  *  版权所有 (C) 2006 天津 赵春生
  *  2006.08.28
  *  http://timw.yeah.net
  *  http://timw.126.com
  *  本程序能顺序遍历TV控件中的所有项目。
  *  代码在Win2000P+SP4 + VC6+SP6测试通过。
  */
  if(error==0)//如果在数据验证转换的过程中未出现错误(error==0时无错误)
  {
    
    //下面为核心部分:顺序显示(选中)指定Tree-View控件中的所有Item.
    
    hwnd=HWND(dec_sum);//得到转换后的数据
    
    //得到根句柄
    tvitem.hItem=(HTREEITEM)::SendMessage(hwnd, TVM_GETNEXTITEM,TVGN_ROOT, 0x0);
    ::SendMessage(hwnd, TVM_SELECTITEM,TVGN_CARET, (long)tvitem.hItem);//选中状态
    
    while((long)tvitem.hItem)
    {
      //当此项目能展开时
      while(::SendMessage(hwnd, TVM_EXPAND,TVE_EXPAND, (long)tvitem.hItem))
      {
        //选择下一个可见项目
        tvitem.hItem=(HTREEITEM)::SendMessage(hwnd,
            TVM_GETNEXTITEM,TVGN_NEXTVISIBLE,
            (long)tvitem.hItem);
        //选中状态
        ::SendMessage(hwnd, TVM_SELECTITEM,TVGN_CARET, (long)tvitem.hItem);
        continue;
      }
      
      //当不能再展开的时候,选择下一个可见项目
      tvitem.hItem=(HTREEITEM)::SendMessage(hwnd,
          TVM_GETNEXTITEM,TVGN_NEXTVISIBLE,
          (long)tvitem.hItem);
      //选中状态
      ::SendMessage(hwnd, TVM_SELECTITEM,TVGN_CARET,
            (long)tvitem.hItem);
      
    }
  }
  
  //释放内存
  CloseHandle(hwnd);
  //顺序显示(选中)完毕
三:TV_Demo_SeqShow的使用方法(图2):

图二

上一页  1 2 3 4  下一页

Tags:遍历 查找 外部

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接