Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Wie bekomme ichd die Message Dialoge auf Englisch?
TheNameless - So 04.02.07 16:20
Titel: Wie bekomme ichd die Message Dialoge auf Englisch?
Hab ein Problem, habe Delphi das natürlich auf Deutsch, nun will ich aber englische Programme programmieren, aber Dialoge wie MessageDlg, InputQuery kann ich nicht anpassen. Leider geht Delphi dabei das auch nicht nach der Sprache des Betriebsystems.
Habs bis jetzt dadurch gelöst indem ich nach dem Compilieren, den Part mit einem Resource Editor nachbearbeitet habe, das ist aber ziehmlich nervig, gibts da auch eine andere Lösung?
Suchen half leider nichts :/
Marco D. - So 04.02.07 16:27
Weiß nicht, ob dir das weiterhilft, aber ich bin der Meinung, mal gehört zu haben, dass die Buttons des MessageDialogs in der Sprache von Windows angezeigt werden. So findet man z.B. in englischsprachigen Installationen Dialoge mit englischem Text und deutschen Buttons. ;)
TheNameless - So 04.02.07 16:29
Ja, dachte ich auch, aber es ist leider nicht so :(
Edit: Es steht immer das drin, was in der Resource steht, also man kann mit nem Ressourcen Editor das Ja in ein Jopp ändern...oder so... (Also ist keine typische Delphi Ressource)
HelgeLange - Mo 05.02.07 16:37
Das Problem bei dir ist, dass Du zwar Dein Windows solange auf andere Ländereinstellungen setzen, wie du lustig bist, das ändert aber nichts an den files in Deiner Windows-installation. All Deine Menüeinträge von Windows etc bleiben trotzdem in deutsch...
Ich lebe in Venezuela, habe einen Computer mit englischem Windows, einen mit spanischem und einen mit Finnisch-Englischem Windows (frag lieber ned, hehe)... Meine von Delphi angezeigten Standard-Windows-Messageboxen haben dann ein "yes no cancel", "sí, no, Cancelar" bzw. "kyllä ei .."
Also mach Dir keine Sorgen um Dein späteres Program, diese Sachen werden in der jeweiligen Sprache der Windows-installation angezeigt (nicht der country settings!)
Hoffe, geholfen zu haben
Marco D. - Mo 05.02.07 16:43
Hatte ich doch Recht. :P
crowley - Di 06.02.07 16:43
Hallöli
falls es aber möglich sein soll, auch auf einem englischen windows, niederländische button beschriftungen im MessageDlg zu verwenden, kannst du folgende Funktion verwenden:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| function MessageDlgEx(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; Captions: array of string; HelpCtx: Longint) : integer; var aMsgDlg : TForm; i : integer; dlgButton : TButton; CaptionIndex : integer; begin aMsgDlg := CreateMessageDialog(Msg, DlgType, Buttons);
try CaptionIndex := 0; for i := 0 to aMsgDlg.ComponentCount - 1 do begin if (aMsgDlg.Components[i] is TButton) then begin dlgButton := TButton(aMsgDlg.Components[i]); if CaptionIndex > High(Captions) then break; dlgButton.Caption := Captions[CaptionIndex]; inc(CaptionIndex); end; end;
aMsgDlg.HelpContext := HelpCtx; result := aMsgDlg.ShowModal; finally aMsgDlg.Free; end; end; |
Gruss,
Crowley
TheNameless - Fr 01.06.07 20:18
@crowley
Danke, könnte ne möglichkeit sein.
Nene, ich hab ja nicht die Ländereinstellungen geändert sondern diesen Fehler hat mir ein User meines Programms gemeldet. Und ich kann es bestätigen, wenn ich im Ressourceneditor (z.B. exescope, ResHack) bei den Strings das Ja in ein blub umänder, steht in der Dialogbox anstatt Ja blub.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!