打开/保存文件对话框将焦点设置到文件列表视图

时间:2011-04-04 10:34:03

标签: delphi focus topendialog filelist

是否可以打开TOpenDialog,TSaveDialog并将焦点设置为文件列表视图而不是文件名编辑框?

非常感谢

此致

1 个答案:

答案 0 :(得分:4)

您可以将焦点放在您喜欢的控件上,但是当您这样做时,对话框应该准备就绪。 “OnShow”活动是早期的。例如,你可以使用'OnFolderChange'事件和一个标志,以便每次更改文件夹时不改变焦点:

type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    procedure OpenDialog1FolderChange(Sender: TObject);
  private
    FDlgSetFocus: Boolean;

uses
  dlgs;

procedure TForm1.Button1Click(Sender: TObject);
begin
  FDlgSetFocus := False;
  OpenDialog1.Execute;
end;

procedure TForm1.OpenDialog1FolderChange(Sender: TObject);
begin
  if not FDlgSetFocus then
    windows.SetFocus(GetDlgItem(GetParent((Sender as TOpenDialog).Handle), lst2));
  FDlgSetFocus := True;
end;