War genau das was ich gesucht habe. Danke.
Delphi-Quellcode:
procedure TFormX.SaveDialogTypeChange(Sender: TObject);
const
WM_USER = $0400;
CDM_FIRST = WM_USER + 100;
CDM_SETCONTROLTEXT = CDM_FIRST + $0004;
var
FName, Ext:
string;
begin
if Sender
is TSaveDialog
then
with TSaveDialog(Sender)
do
begin
if DirectoryExists(FileName)
then
Exit;
case FilterIndex
of
1: Ext := '
.abc';
2: Ext := '
.def';
else
Ext := ExtractFileExt(FileName);
end;
FName := ExtractFileName(ChangeFileExt(FileName, Ext));
SendMessage(Windows.GetParent(
Handle), CDM_SETCONTROLTEXT, 1152, LongInt(PChar(FName)));
end;
end;
Nur informationeller, falls es einer weiß - kann mir einer sagen wieso das hier nicht funktioniert?
Delphi-Quellcode:
...
FileName:= ChangeFileExt(FileName, Ext);
...
SendMessage...;
end;
end;
Hier ist keine Änderung an FileName möglich.