我可以在Delphi中更改TSavetextfiledialog的保存按钮上的标题吗?

时间:2014-07-19 13:16:22

标签: delphi delphi-xe3

我有一个TSavetextfiledialog,用户选择一个文件名进行保存,但保存不会立即发生。因此我希望保存按钮显示“选择”而不是“保存”。可以更改按钮的标题吗?

enter image description here

1 个答案:

答案 0 :(得分:3)

由于这是一个旧式常用文件打开对话框,因此您可以对具有CDM_SETCONTROLTEXT标识符的项目使用IDOK消息,该标识符用于VCL对话框句柄的父级。有关其他项目的ID,请参阅Explorer-Style Control Identifiers上的文档。这是在OnShow事件处理程序中调用它:

uses
  commdlg;

procedure TForm2.SaveTextFileDialog1Show(Sender: TObject);
begin
  SendMessage(GetParent(SaveTextFileDialog1.Handle),
      CDM_SETCONTROLTEXT, IDOK, NativeUInt(PChar('MyCaption')));
end;

当您选择要打开的文件夹时,对话框正在更改按钮文本,当选择不是文件夹时,您的自定义标题将被恢复。