读书人

RzShellTree中的SelectedFolder展示总

发布时间: 2013-02-24 17:58:56 作者: rapoo

RzShellTree中的SelectedFolder显示总是滞后一次
用的RZ控件,做文件目录模块,用RzShellTree中的SelectedFolder,显示出的Pathname总是滞后一个目录(选中一个文件夹后,RzFileListBOX显示出的是上个文件夹的内容)发现问题应该是RzShellTree1.SelectedFolder.PathName就已经错了,求论坛里的大神指点以下,感激不尽~~
以下是程序代码:
unit Path_Unit3;

interface

uses
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.
[解决办法]
楼主用RzShellTree.SelectedPathName就没问题,RzShellTree.SelectedFolder.PathName是返回上一级的目录,不对。

读书人网 >.NET

热点推荐