Hi
den folgenden Code hab' ich etwas modifiziert und den gibt es hier in der
DP; finde ihn aber grad nicht:
Delphi-Quellcode:
function ConfBox(text: string): integer;
var
f: TForm;
begin
f := CreateMessageDialog(text, mtConfirmation, [mbYes, mbNo, mbCancel]);
try
f.Caption := 'Titeltext';
(f.FindComponent('Cancel') as TButton).Caption := 'Cancel ersetzen';
(f.FindComponent('Yes') as TButton).Caption := 'Yes ersetzen';
(f.FindComponent('No') as TButton).Caption := 'No ersetzen';
result := f.ShowModal;
finally
f.Free;
end;
end;
Die Funktion liefert dir die selben Rückgabewerte wie die normale MessageDlg-Boxen. Allerdings würde ich die Funktion nur für verschiedene Sprachen nutzen (bei mir, weil ich die Delphi 7 Personal Version von Borland/Poland hab' und diese englische Dialoge liefert, kann ich die zur LAufzeit abändern). Bsp.:
Delphi-Quellcode:
function ConfBox(language: integer; text: string): integer;
var
f: TForm;
begin
f := CreateMessageDialog(text, mtConfirmation, [mbYes, mbNo, mbCancel]);
try
case language of
0: begin
f.Caption := 'Bestätigen';
(f.FindComponent('Cancel') as TButton).Caption := 'Abbrechen';
(f.FindComponent('Yes') as TButton).Caption := 'Ja';
(f.FindComponent('No') as TButton).Caption := 'Nein';
end;
1: begin
f.Caption := 'Confirmatione'; // <-- nur gibberish ^^
(f.FindComponent('Cancel') as TButton).Caption := 'Aborto';
(f.FindComponent('Yes') as TButton).Caption := 'Si';
(f.FindComponent('No') as TButton).Caption := 'No';
end;
2: begin
f.Caption := 'De la Confirmation';
(f.FindComponent('Cancel') as TButton).Caption := 'Aborté';
(f.FindComponent('Yes') as TButton).Caption := 'Oui';
(f.FindComponent('No') as TButton).Caption := 'Non';
end;
end;
result := f.ShowModal;
finally
f.Free;
end;
end;
Und evtl. müsstest du auch noch die Position und Größe der Buttons anpassen. Also alles in alle mit Vorsicht zu genießen.
Gruß
Calculon
--