CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

*******请教,关于Treeview控件*******

楼主xhema1980(无名)2003-12-03 09:52:25 在 VB / 基础类 提问

请问如何将一个文本(有固定格式)加入Treeview控件  
  文本格式如下:  
  第一章   ****  
              第一节   ***           (前面使用Tab字符来增加缩进)  
              第二节   ***  
  第二章   ****  
              第一节   ***  
  ....  
  ....  
   
   
  问题点数:80、回复次数:2Top

1 楼DemonXHunter(恶魔猎手)回复于 2003-12-03 10:23:05 得分 40

我不知道你这些文本存于何处,所以我暂时定义了一个数组来存发了几行文本,这是个例子,但是你稍加修改就可以使用了,主要是修改循环。  
  Private   Sub   Command1_Click()  
          Dim   lines(6)   As   String  
          Dim   tabCount   As   Integer  
          Dim   showText   As   String  
          Dim   levelNode(8)   As   Node  
           
          lines(0)   =   "第一章   ****"  
          lines(1)   =   vbTab   &   "第1节   ***"  
          lines(2)   =   vbTab   &   "第2节   ***"  
          lines(3)   =   "第二章   ***"  
          lines(4)   =   vbTab   &   "第1节   ***"  
           
          Tree1.Nodes.Clear  
          For   i   =   0   To   4  
                  tabCount   =   getTabCount(lines(i))  
                  showText   =   LTrim(lines(i))  
                  If   tabCount   =   0   Then  
                          Set   levelNode(0)   =   Tree1.Nodes.Add(,   tvwChild,   ,   showText)  
                  ElseIf   Not   levelNode(tabCount   -   1)   Is   Nothing   Then  
                          Set   levelNode(tabCount)   =   Tree1.Nodes.Add(levelNode(tabCount   -   1),   tvwChild,   ,   showText)  
                  Else  
                          Debug.Print   "文本格式有错误!"   &   lines(i)  
                  End   If  
          Next   i  
   
   
  End   Sub  
  Private   Function   getTabCount(str   As   String)   As   Integer  
          For   i   =   1   To   Len(str)  
                  If   Mid(str,   i,   1)   <>   vbTab   Then  
                          getTabCount   =   i   -   1  
                          Exit   Function  
                  End   If  
          Next   i  
          getTabCount   =   Len(str)  
  End   FunctionTop

2 楼SoHo_Andy(冰)回复于 2003-12-03 10:32:44 得分 40

同意,修改为读取文本文件内容  
  已经完全满足你的要求  
   
  Private   Sub   Command1_Click()  
          Dim   tabCount   As   Integer  
          Dim   showText   As   String  
          Dim   levelNode(8)   As   Node  
                   
          Dim   FileContents                                                                                 As   String  
          Dim   fileNum                                                                                           As   Integer  
          Dim   LineInfo()                                                                                     As   String  
           
          fileNum   =   FreeFile  
          Open   "d:\aa.txt"   For   Binary   As   #fileNum  
                  FileContents   =   Space(LOF(fileNum))  
                  Get   #fileNum,   ,   FileContents  
          Close   fileNum  
   
          LineInfo   =   Split(FileContents,   vbCrLf)  
           
          Tree1.Nodes.Clear  
          For   i   =   0   To   4  
                  tabCount   =   getTabCount(LineInfo(i))  
                  showText   =   LTrim(LineInfo(i))  
                  If   tabCount   =   0   Then  
                          Set   levelNode(0)   =   Tree1.Nodes.Add(,   tvwChild,   ,   showText)  
                  ElseIf   Not   levelNode(tabCount   -   1)   Is   Nothing   Then  
                          Set   levelNode(tabCount)   =   Tree1.Nodes.Add(levelNode(tabCount   -   1),   tvwChild,   ,   showText)  
                  Else  
                          Debug.Print   "文本格式有错误!"   &   LineInfo(i)  
                  End   If  
          Next   i  
  End   Sub  
   
  Private   Function   getTabCount(str   As   String)   As   Integer  
          For   i   =   1   To   Len(str)  
                  If   Mid(str,   i,   1)   <>   vbTab   Then  
                          getTabCount   =   i   -   1  
                          Exit   Function  
                  End   If  
          Next   i  
          getTabCount   =   Len(str)  
  End   Function  
   
  结贴Top

相关问题

  • TREEVIEW控件
  • 求treeview控件
  • treeview控件
  • TreeView控件
  • 求TreeView控件
  • TreeView控件问题
  • 关于treeview控件
  • 注册TreeView控件
  • TreeView控件刷新?
  • asp.net的treeview控件

关键词

  • 文本
  • 修改
  • tabcount
  • levelnode
  • gettabcount
  • showtext
  • lineinfo
  • filenum
  • vbtab
  • tvwchild

得分解答快速导航

  • 帖主:xhema1980
  • DemonXHunter
  • SoHo_Andy

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo