searchfilepath.pas

来自「加解密」· PAS 代码 · 共 65 行

PAS
65
字号
unit SearchFilePath;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ShellCtrls, StdCtrls;

type
  TForm2 = class(TForm)
    ShellTreeView1: TShellTreeView;
    Edit1: TEdit;
    BtnCancel: TButton;
    BtnOK: TButton;
    CheckBox1: TCheckBox;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ShellTreeView1Editing(Sender: TObject; Node: TTreeNode;
      var AllowEdit: Boolean);
    procedure ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
  private
    { Private declarations }
  public
    { Public declarations }
    SelectPath: string;
    IncludeallSubDir: boolean;
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  if DirectoryExists(ShellTreeView1.path) then  //文件路径是否存在
  begin
    BtnOK.Enabled := true;
    Edit1.Text := ShellTreeView1.Path;
  end
  else
  begin
    BtnOK.Enabled := False;
    Edit1.Text := '';
  end;
end;

procedure TForm2.ShellTreeView1Editing(Sender: TObject; Node: TTreeNode;
  var AllowEdit: Boolean);
begin
  AllowEdit := false;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if ModalResult = mrok then
  begin
    SelectPath := ShellTreeView1.Path;
    IncludeallSubDir := checkbox1.Checked ;
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?