同 上

解决方案 »

  1.   

    procedure TForm1.ShellListView1Change(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    var
            pathname:string;
    begin
            if change <> ctText then exit;
            pathname := ShellTreeView1.Folders[ShellTreeView1.Selected.index].PathName;
    end;
      

  2.   

    可以看看DELPHI自带的一个例子:
    Delphi6/Samples/ShellTreeView 
      

  3.   

    procedure LoadFile(dir:string;filter:string);//dir就是路径,filter是过滤
    const
       FileAttrs = faAnyFile and (not fadirectory);//+faHidden+faSysFile+faReadonly;
    var
      sr       : TSearchRec;
      findresult:integer;
    begin
       //找第一个匹配的文件
       findresult:=FindFirst (dir+'\'+filter, FileAttrs, sr);
       while findResult= 0 do
        Begin
          If (sr.Name <> '.') and (sr.Name <> '..') Then  //去掉'.'和'..'
          Begin
                form1.listbox.items.add(sr.Name);
                findResult:=findnext(sr);
         End;
          End;
         FindClose (sr);
    end;procedure TForm1.ShellTreeView1Changing(Sender: TObject; Node: TTreeNode;
      var AllowChange: Boolean);
    begin
      loadfile(ShellTreeView1.Path,'*.*')
    end;
    end.