Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Messagedlg: Wie herausfinden, welcher Button gedrückt wurde?


Metschu - Fr 26.12.08 13:41
Titel: Messagedlg: Wie herausfinden, welcher Button gedrückt wurde?
Hallo zusammen!

Ich habe ein Messagedialog mit 3 Buttons: Ja, Nein, Abbruch

Jetzt würde ich gerne wissen, welcher der 3 Buttons gedrückt wurde.

Über die Abfrage "If Messagedlg..." kann ich ja nur ein Button abfragen.

Haben die Tasten irgendein "Tag", "ID" oder ähnliches, welchen ich mit Case abfragen kann oder muß ich mir das was eigenes zurechtbasteln?

Die Funktion soll Folgendes ausführen:

Ja : Procedure 1, dann Procedure 2
Nein : Procedure 1
Abbruch : Fenster Schliessen

Danke schonmal!

Gruß

Torsten


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 26.12.2008 um 12:58


jaenicke - Fr 26.12.08 13:55

user profile iconMetschu hat folgendes geschrieben Zum zitierten Posting springen:
Über die Abfrage "If Messagedlg..." kann ich ja nur ein Button abfragen.

Haben die Tasten irgendein "Tag", "ID" oder ähnliches, welchen ich mit Case abfragen kann oder muß ich mir das was eigenes zurechtbasteln?
Naja, die Abfrage mit case sieht eigentlich genauso aus:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
  case MessageDlg('Weiter?', mtConfirmation, [mbYes, mbNo, mbCancel], 0of
    mrYes: ShowMessage('Ja');
    mrNo: ShowMessage('Nein');
  else
    ShowMessage('Abgebrochen');
  end;


Metschu - Fr 26.12.08 14:12

Komisch...

ich hatte es so (oder anscheinend so ähnlich) Probiert und dann kam die Fehlermeldung, es wäre kein Integer...

Hauptsache Geht :)

Danke!


jaenicke - Fr 26.12.08 14:15

Ich vermute du hattest den Vergleich drin gelassen in dem case xy of, und das Ergebnis des Vergleiches ist in der Tat kein Integer. ;-)