各位大虾,小弟做着玩,想实现一个类似于打开一个文件夹显示里面内容的小东东,比如里面的内容是一些Word文档,要大图标的显示方式,听说是用Listview控件。那位大虾给各例子?谢了先!

解决方案 »

  1.   

    给你两个函数,然后自己研究一下TreeView和ListView控件吧procedure FindDirUnder(strDir: string; IncludeSelf: boolean; var DirList: TStringList);
      // 得到StrDir目录下的子目录以DirList返回
    procedure FindFileUnder(strDir, ExtName: string; var FileList: TStringList);
      // 得到StrDir目录下的所有以ExtFile('.pas')为扩展名的文件 以FileList返回
    procedure FindDirUnder(strDir: string; IncludeSelf: boolean; var DirList: TStringList);
    var
      SRec: TSearchRec;
      retval: Integer;
    begin
      DirList.Clear;
      retval := FindFirst(strDir+'\*.*',faDirectory,sRec);
      try
        while retval = 0 do
        begin
          if (SRec.Attr and faDirectory) <> 0 then
            if (Srec.Name = '.') or (Srec.Name = '..') then
            begin
              if IncludeSelf then
                DirList.Add(Srec.Name)
            end else
              DirList.Add(Srec.Name);
          retval := FindNext(SRec);
        end;
      finally
        FindClose(SRec);
      end;
    end;procedure FindFileUnder(strDir,ExtName:string;var FileList:TStringList);
    var
      SRec: TSearchRec;
      retval: Integer;
    begin
      FileList.Clear;
      retval := FindFirst(strDir+'\'+ExtName,faAnyFile,sRec);
      try
        while retval = 0 do
        begin
          if (SRec.Attr and faDirectory) = 0 then
            FileList.Add(Srec.Name);
          retval := FindNext(SRec);
        end;
      finally
        FindClose(SRec);
      end;
    end;
      

  2.   

    去下载一个具有资源管理器功能的控件
    http://www.neweasier.com/vcl.html?class=4
      

  3.   

    用Delphi的samples页上的ShellTreeView和ShellListView可以实现
      

  4.   

    同意楼上的,但这是delphi6新加的,原来的版本没有
      

  5.   

    D:\Program Files\Borland\Delphi6\Demos\Virtual Listview
      

  6.   

    怎么设置ShellListView的属性,比如显示具体一个目录的东西?
      

  7.   

    Delphi的samples页上的ShellTreeView和ShellListView还有Shellcombobox可以实现
      

  8.   

    pukerno3(飞天):怎么实现?能不能给点简单的代码?
      

  9.   

    用Delphi6/7的samples页上的ShellTreeView和ShellListView可以实现
    最好的是Shell Control pack的商业控件,真的是很棒
      

  10.   

    procedure GetDirectories(list: TlistView; Directory: string; Item: Tlistitem; IncludeFiles: boolean);
    var
    SearchRec: TSearchRec;
    begin
    list.Items.BeginUpdate;
    list.Items.Clear;
    if Directory[length(Directory)] <> '\' then
    Directory := Directory + '\';
    if FindFirst(Directory + '*.*',faDirectory,SearchRec) = 0 then
    begin
    repeat
    if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then
    begin
    if (SearchRec.Attr and faDirectory > 0) then
    begin Item := list.Items.Add;
    item.Caption:=SearchRec.Name;
    end;
    GetDirectories(list,Directory + SearchRec.Name,Item,IncludeFiles);
    end
    else if IncludeFiles then
    if SearchRec.Name[1] <> '.' then
    begin
    item:=list.Items.Add;
    item.Caption:=SearchRec.Name;
    end;
    until FindNext(SearchRec) <> 0;
    ExtractAssociatedIcon(application.Handle,filespath,0);
    FindClose(SearchRec);
    end;
    list.Items.EndUpdate;
    end;//list:是窗体上的listview的name Directory是文件夹名