我有一个TSavetextfiledialog,用户选择一个文件名进行保存,但保存不会立即发生。因此我希望保存按钮显示“选择”而不是“保存”。可以更改按钮的标题吗?
答案 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;
当您选择要打开的文件夹时,对话框正在更改按钮文本,当选择不是文件夹时,您的自定义标题将被恢复。