Einzelnen Beitrag anzeigen

Benutzerbild von Amnon82
Amnon82

Registriert seit: 5. Jan 2005
186 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Deutsche Dialoge in anderssprachigen Windows. Umgehbar?

  Alt 10. Mai 2006, 00:27
OK. MessageBox nimmt die Windowssprache für die Buttons her. Wenn mein Programm english ist, dann sind die Buttons Yes, No einfach Ja und Nein.

Delphi-Quellcode:
   function xMessageDlg(const Msg: string; DlgType : TMsgDlgType;
                     Buttons : TMsgDlgButtons; Captions: array of string) : Integer;
var
  aMsgDlg : TForm;
  CaptionIndex,
  i : integer;
  dlgButton : TButton; // uses stdctrls
begin
  // Dlg erzeugen
  aMsgDlg := CreateMessageDialog(Msg, DlgType, buttons);
  CaptionIndex := 0;
  // alle Objekte des Dialoges testen
  for i := 0 to aMsgDlg.ComponentCount - 1 do begin
    // wenn es ein Button ist, dann...
    if (aMsgDlg.Components[i] is TButton) then begin
      dlgButton := TButton(aMsgDlg.Components[i]);
      if CaptionIndex > High(Captions) then Break;
      // Beschriftung entsprechend Captions-array ändern
      dlgButton.Caption := Captions[CaptionIndex];
      Inc(CaptionIndex);
    end;
  end;
  Result := aMsgDlg.ShowModal;
end;

Kann man XMessageDLG nicht mit Messagebox kombinieren, sodass man auch die Beschriftung der Knöpfe definieren kann?
Oder halt zu XMessageDLG den Titel des XMessageDLG ändern.

Ich hab mal im Internet danach gesucht und XMessagebox gefunden. Leider nur in C++.
Vielleicht kanns ja einer ins Delphi übersetzen.

Hier die Lösung: http://www.delphipraxis.net/internal...ct.php?t=82736
Angehängte Dateien
Dateityp: zip xmessagebox_demo_176.zip (59,8 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat