Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   XE5 Firemonkey MessageBox/MessageDlg (https://www.delphipraxis.net/179940-xe5-firemonkey-messagebox-messagedlg.html)

Sir Rufo 21. Apr 2014 11:52

AW: XE5 Firemonkey MessageBox/MessageDlg
 
Hast du schon in die Dokumentation geschaut?

Delphi-Referenz durchsuchenFMX.Dialogs.MessageDlg

Anscheinend nicht ;)

himitsu 21. Apr 2014 13:12

AW: XE5 Firemonkey MessageBox/MessageDlg
 
Ich würde dort auch mal nach den ID-Konstanten suchen, oder nach den "neueren" mr-Konstanten. :gruebel:
(eventuell sind die Konstanten auch in einer Klasse/Record gekapselt)

MessageButton zum Auswählen der anzuzeigenden Buttons und MessageResult ModalResult als Ergebnis was gedrückt wurde. (ein Dialog ist eine modale Form)

Sir Rufo 21. Apr 2014 13:30

AW: XE5 Firemonkey MessageBox/MessageDlg
 
Die Online-Hilfe sollte auf XE6 verweisen oder einfach auf die Angabe der Version verzichten, dann kommt immer die aktuellste Dokumentation

XE6: http://docwiki.embarcadero.com/Libra...ogs.MessageDlg
oder (immer aktuell): http://docwiki.embarcadero.com/Libra...ogs.MessageDlg

da stehen dann auch die ModalResult-Konstanten ;)

Nils S. 22. Apr 2014 15:21

AW: XE5 Firemonkey MessageBox/MessageDlg
 
Ja, ich habe meinen Beitrag ja schon editiert, dass es logisch ist, dass ich IDYes, IDNo und IDCancel verwenden muss. Damit klappt das natürlich auch ohne Probleme.

Danke trotzdem. :)

Nils S. 27. Mai 2014 20:51

AW: XE5 Firemonkey MessageBox/MessageDlg
 
Hallo zusammen,

nach einiger Zeit habe ich nun zu dem MessageDlg nochmal ein Problemchen.
Dieses sieht wie folgt aus:
Delphi-Quellcode:
  case MessageDlg('Text.',
    mtWarning,
    [mbYes, mbNo, mbHelp],
    0,
    mbNo) of
    idYes:
    begin
      {Mach was.
       Funktioniert ohne Probleme.}
    end;
    idHelp:
    begin
      {Mach was.
       Funktioniert nicht...}
    end;
  end;
Wenn ich den mbHelp zum Beispiel gegen mbIgnore oder mbCancel oder irgendeinen beliebigen anderen Button tausche und die idHelp dementsprechend natürlich auch,
fuktioniert auch dieser Fall.

Muss man bei einem mb/idHelp etwas besonderes machen oder berücksichtigen?

himitsu 27. Mai 2014 20:53

AW: XE5 Firemonkey MessageBox/MessageDlg
 
Ich sehn da kein Problem. :gruebel:

[edit]
Selbst da nicht, als vorhin noch ein Code zu sehen war.

Nils S. 27. Mai 2014 21:01

AW: XE5 Firemonkey MessageBox/MessageDlg
 
Da hat die Tasenkombination Tab-->Enter den Beitrag etwas zu früh abgeschickt...
jetzt habe ich das Problem oben vernünftig gepostet.

:lol:

himitsu 27. Mai 2014 21:16

AW: XE5 Firemonkey MessageBox/MessageDlg
 
Ja, mußt du X'D

Du gibst dem Parameter "HelpIndex" einen Wert mit und wenn du in deinem Programm eine Hilfedatei registriert hast, dann wird der entsprechende Hilfeindex geladen, so als wenn du F1 drücken würdest.


Alternativ kann man via Applicatopn.OnHelp oder TApplicationEvents auf deinen HelpIndex reagieren.


PS: Leider ist noch keiner auf die saublöde Idee gekommen und hat endlich mal die Dialog-Parameter überladen, vorallem da es seit massig Jahren auch noch den HelpContext gibt und keiner mehr eine index-, sondern eine kontextbasierende Hilfe aufbaut. :wall:

Nils S. 27. Mai 2014 21:22

AW: XE5 Firemonkey MessageBox/MessageDlg
 
Kann ich nicht einfach ein weiteres Dialogfeld anzeigen lassen?
Mehr will ich doch gar nicht...:/

himitsu 27. Mai 2014 21:36

AW: XE5 Firemonkey MessageBox/MessageDlg
 
NeinJaVielleicht.

Ich weiß jetzt nicht wie das im FireMonkey aussieht, aber in der VCL ist MessageDlg nur ein Wrapper und wenn man da genügend Ebenen rein geht, dann kommt man irgendwann zu einer Funktion, welche einem den VCL-Dialog zusammenbastelt und dann die TForm-Instanz zurückgibt.

Dort könnte man dann z.B. via FindComponent den Hilfe-Button suchen, sein OnClick-Ereignis dranhängen und dann zeigt man nun nur noch mit ShowModal den Dialog an.


Oder du nimmst einen anderen Button (der wie gewünscht funktioniert) und tauscht bei Diesem die Caption.




Der Grund: Der Hilfebutton beendet den Dialog nicht.
Er zeigt die Hilfe an, damit man sich besser enscheiden kann, was man nun für einen Button eigentlich klicken will.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 Uhr.
Seite 2 von 3     12 3      

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