用的RZ控件,做文件目录模块,用RzShellTree中的SelectedFolder,显示出的Pathname总是滞后一个目录(选中一个文件夹后,RzFileListBOX显示出的是上个文件夹的内容)发现问题应该是RzShellTree1.SelectedFolder.PathName就已经错了,求论坛里的大神指点以下,感激不尽~~
以下是程序代码:
unit Path_Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, RzTabs, ExtCtrls, StdCtrls, FileCtrl, RzFilSys,
RzTreeVw, RzShellCtrls;type
TForm3 = class(TForm)
Panel1: TPanel;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
RzShellTree1: TRzShellTree;
RzFileListBox1: TRzFileListBox;
procedure FormCreate(Sender: TObject);
procedure RzShellTree1Change(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation{$R *.dfm}uses
MainSystemUnit1, BaseInfo_Unit9;procedure TForm3.FormCreate(Sender: TObject);
begin
Form3.Left:=190;
Form3.Top:=143;
//标题栏高度减小
SetWindowLong(Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
RzPageControl1.ActivePageIndex:=0;
RzFileListBox1.Clear;
RzFileListBox1.Directory:='';
end;
procedure TForm3.RzShellTree1Change(Sender: TObject; Node: TTreeNode);
begin
if not DirectoryExists(RzShellTree1.SelectedFolder.PathName) then
begin
Exit;
end;
RzFileListBox1.Directory:='';
RzFileListBox1.Clear; RzFileListBox1.Directory:=RzShellTree1.SelectedFolder.PathName;
RzFileListBox1.Update ;
RzPageControl1.ActivePageIndex:=1;
end;end.
以下是程序代码:
unit Path_Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, RzTabs, ExtCtrls, StdCtrls, FileCtrl, RzFilSys,
RzTreeVw, RzShellCtrls;type
TForm3 = class(TForm)
Panel1: TPanel;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
RzShellTree1: TRzShellTree;
RzFileListBox1: TRzFileListBox;
procedure FormCreate(Sender: TObject);
procedure RzShellTree1Change(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation{$R *.dfm}uses
MainSystemUnit1, BaseInfo_Unit9;procedure TForm3.FormCreate(Sender: TObject);
begin
Form3.Left:=190;
Form3.Top:=143;
//标题栏高度减小
SetWindowLong(Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
RzPageControl1.ActivePageIndex:=0;
RzFileListBox1.Clear;
RzFileListBox1.Directory:='';
end;
procedure TForm3.RzShellTree1Change(Sender: TObject; Node: TTreeNode);
begin
if not DirectoryExists(RzShellTree1.SelectedFolder.PathName) then
begin
Exit;
end;
RzFileListBox1.Directory:='';
RzFileListBox1.Clear; RzFileListBox1.Directory:=RzShellTree1.SelectedFolder.PathName;
RzFileListBox1.Update ;
RzPageControl1.ActivePageIndex:=1;
end;end.
我想再问您下,如果想获取在RzFileListBox1.Directory里面选中的文件目录,有没有办法,获取RzShellTree1.SelectedPathName没问题,但是这个不能到文件,只能到文件夹~