我初学Delphi,但想用它来完成毕业设计(急),中间用到TreeView控制。主要意图是想利用TreeView显示自己的某一个文件夹目录,比有这么一个文件夹,资料区做为根结点(root),下面就是子结点。除根结点不变之外,里面的文件目录与文件都是动态变化的,用以显示的TreeView控件必须与这个目录下的目录或文件的变化对应。比如下面示例,“软件工程”是一个子目录,“需要分析”是这个子目录下面的子目录,“测试软件需要分析报告.doc”是“需要分析”目录的一个文件。如下所示:资料区      
   软件工程
      需要分析
        测试软件需要分析报告.doc
   参考文件
        软件开发规范 GB8566-88.doc
        计算机软件测试文件编制指南 GB 8567-88.doc
   内部文档我想实现的效果是让TreeVier与文件目录对应,当我双击该TreeView目录为叶子节点时,调用API执行这个叶子节点的word文档。请各位大侠帮帮忙解决一下。非常感谢!~~有专门编写的详细代码的话,给完全部论坛分!~

解决方案 »

  1.   

    在TreeView下面的哪个事件设置目标图标比较好?比如当点击该目录展开时,自身的image index发生变化。
      

  2.   

    递归算法对于学计算机的是最基本的算法职业,有什么困难的?大概如下(把我用的一段代码改过来的)  procedure FileSearch(FullPathName: string);//注,FullPathName需以“\”号结尾
      var
        F: TSearchRec;
        Found: Boolean;
      begin
        ChDir(FullPathName);
        Found := (FindFirst('*.*', faAnyFile, F) = 0);
        while Found do
        begin
          if (F.Name = '.') or (F.Name = '..') then
          begin
            Found := (FindNext(F) = 0);
            Continue;
          end;
          ....................//添加到TreeView      if (F.Attr and faDirectory) > 0 then
            FileSearch(FullPathName + F.Name + '\');
          Found := (FindNext(F) = 0);
        end;
        SysUtils.FindClose(F);
        ChDir('..\');
      end;