AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi "Ja - Ignorieren - Cancel" mit MessageBox
Thema durchsuchen
Ansicht
Themen-Optionen

"Ja - Ignorieren - Cancel" mit MessageBox

Ein Thema von xZise · begonnen am 1. Jan 2007 · letzter Beitrag vom 3. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

"Ja - Ignorieren - Cancel" mit MessageBox

  Alt 1. Jan 2007, 22:31
Kann ich mithilfe der MessageBox mir selber die Buttons "Ja"-"Ignorieren"-"Cancel" zusammenstellen?

Oder geht das nur über MessageDlg? Dann ist meine Frage: Wie mache ich das "Mehrsprachig"? Normalerweise ist es ja bei MessageBoxen, dass die Buttons in der Windowssprache sind. (Deshalb benutzte ich auch nur noch diese Messages)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: "Ja - Ignorieren - Cancel" mit MessageBox

  Alt 1. Jan 2007, 22:36
Hi xZise,

Bastel Dir deine eigene MessageBox. Ich glaub, ich poste mal eine Lösung (automatische Berechnung der Fenstergröße anhand des Textes, der Buttons und der Überschrift) in der Code-Library.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: "Ja - Ignorieren - Cancel" mit MessageBox

  Alt 1. Jan 2007, 22:51
Moment: http://www.delphipraxis.net/internal...ct.php?t=98946 Ob das nun besser oder schechter als ein selbst gebauter Dialog ist, musst du selber entscheiden.
Wenn du allerdings die Beschriftung der Schaltflächen änderst, bist natürlich auch du wieder für die Lokalisierung verantwortlich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#4

Re: "Ja - Ignorieren - Cancel" mit MessageBox

  Alt 1. Jan 2007, 23:11
Zitat von Luckie:
Wenn du allerdings die Beschriftung der Schaltflächen änderst, bist natürlich auch du wieder für die Lokalisierung verantwortlich.
Deshalb benutze ich ja "MessageBox", damit die Schaltflächen die richtige Sprache haben.
Gibt es nicht eine Methode in Delphi wie "LocalizeWindowsStrings('Cancel')"?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: "Ja - Ignorieren - Cancel" mit MessageBox

  Alt 1. Jan 2007, 23:24
Wozu brauchst du die dann noch? Eventuell solltst du dir mal Bei Google suchengnugettext angucken.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#6

Re: "Ja - Ignorieren - Cancel" mit MessageBox

  Alt 1. Jan 2007, 23:38
Kann den gnugettext Die Buttons, welche bei "MessageBox" von Windows Übersetzt werden, automatisch übersetzen, in die jeweilige Sprache (und es existiert von mir keine .mo-Datei)?

Ich weiß zwar gerade nicht wo das Verständnisproblem liegt, aber ich brauche eine "MessageBox" die eine eigene Buttonzusammensetzung hergibt. Der Hauptgrund, warum ich das über MB mache und nicht über MessageDlg ist, dass die MD-Strings in einer Datei drinne stehen, und mit dem Komplieren feststehen. Bei der MessageBox sind das die "Windowstexte". Und jetzt war meine erweiterte Frage: Komme ich an die Windowstexte ran, dass ich mir ein MD bauen kann, mit übersetzten Buttons.

Und zwar möchte ich nicht die Buttons übersetzten, sondern sie "Systemstrings" nehmen.
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: "Ja - Ignorieren - Cancel" mit MessageBox

  Alt 2. Jan 2007, 00:01
Hier, vielleicht bringt dir das was: Die Deklaration ist -parametertechnisch- die Gleiche wie die von CsMessageBox. CsInputBox funktioniert genauso wie InputBox etc.

Ich muss dazu sagen, das ich die Komponenten (TEdit und TBitBtn) selbst nicht verwende, sondern viel 'hübschere' von DevExpress.
Hier das Interface:
Delphi-Quellcode:
Function csMessageDlg(Const Msg: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;

Procedure csShowError(Const aMsg: String);
Function csConfirm(Const aMsg: String): Boolean;
Function csInputBox(Const ACaption, APrompt, ADefault: String): String;
Function csInputQuery(Const ACaption, APrompt: String; Var Value: String): Boolean;
Procedure csShowMessage(Const aMsg: String);
Var
  ButtonCaptions: Array[TMsgDlgBtn] Of String = (
    '&Ja', '&Nein', '&OK', 'A&bbruch', '&Beenden', '&Wiederholen', '&Ignorieren',
    'A&lle', 'Alle N&ein', 'Alle J&a', '&Hilfe');

  DialogCaptions: Array[TMsgDlgType] Of String = ('Warnung', 'Fehler',
    'Information', 'Bestätigung', '');
Luckies Ansatz ist aber bestimmt besser...

[edit] ooops ohne anhang bringt das ja nix [/edit]
Angehängte Dateien
Dateityp: zip messagebox_394.zip (4,4 KB, 20x aufgerufen)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

Re: "Ja - Ignorieren - Cancel" mit MessageBox

  Alt 2. Jan 2007, 11:53
Und was ist, wenn ich es einen Engländer geben würde, welcher ein Englisches OS besitzt?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#9

Re: "Ja - Ignorieren - Cancel" mit MessageBox

  Alt 2. Jan 2007, 13:20
Die große Frage ist, ob der Engländer überhaupt etwas mit deiner deutschen Fehlermeldung anfangen kann. Es ist nicht unbedingt schlecht, dass die Button-Beschriftungen in derselben Sprache sind wie die Meldungen - wenn du aber die Meldungen eh übersetzen musst, tut es auch nicht weh, die Button-Beschriftungen zu übersetzen.
Anders ausgedrückt, es ist unerheblich, ob die Button-Beschriftungen in der Windows-Sprache sind, wenn die Meldungen selbst es nicht sind. Wenn er deine deutsche Meldung verstehen kann, versteht er auch die deutschen Button-Beschriftungen.

Edit:
Dass Windows in der Messagebox die Buttons in der Windows-Sprache beschriftet, ist kein toller Service von Windows, sondern liegt einfach daran, dass Windows einerseits nicht alle Sprachen enthalten kann, andererseits nicht wissen kann, welche Sprache deine Anwendung hat. Es ist also eigentlich ein Bug, wenn in einem deutschsprachigen Programm englische Buttons erscheinen.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

Re: "Ja - Ignorieren - Cancel" mit MessageBox

  Alt 2. Jan 2007, 14:22
Hmmm dass stimmt schon...

Obwohl das Problem ja bei mir ist, wenn ich die Anwendung auf englisch schreibe, dass die Buttons von "MD" immernoch deutsch sind, weil ich ja eine deutsche IDE besitzte (oder stimmt das nicht?)...

Aber mit einem eigenen Dialog müsste es gehen

Ich habe es jetzt erstmal auf "YNC" ungestellt...
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz