Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Auswertung Messagedialog


hansg - Di 04.03.03 17:31
Titel: Auswertung Messagedialog
Hallo zusammen,
ich habe einen Messagedialog mit den Schaltflächen Abbechen, Ja und Nein.
Wie kann ich auf jede Taste einzeln reagieren?, wie es bei einer funktioniert weiß ich ja.

Quelltext
1:
2:
3:
4:
5:
  if MessageDlg('Test Abfrage, bitte wählen',
  mtConfirmation, [mbAbort, mbYes, mbNo], 0) = mrYes then
  begin

  end;


GSE - Di 04.03.03 18:05

Da MessageDlg auch nur eine Funktion ist weist du den Funktionswert einfach einer Variablen zu und fragst sie danach ab:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
 ClickedBtn: Word;
begin
  ClickedBtn := MessageDlg('Test Abfrage, bitte wählen', mtConfirmation, [mbAbort, mbYes, mbNo], 0);
  if ClickedBtn = id_yes then
   showmessage('Yes.');
  if ClickedBtn = id_no then
   showmessage('No.');
  if ClickedBtn = id_abort then
   showmessage('Abort.');


mfg
GSE


Tino - Mi 05.03.03 09:16

Zum Beispiel mit einer Case-Anweisung:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
Case MessageDlg ('Test Abfrage, bitte wählen', mtConfirmation, [mbAbort, mbYes, mbNo], 0) of
    mrYes:
      ; // Hier der Code bei Yes
    mrNo: 
      ; // Hier der Code bei No
    mrCancel:
      ; // Hier der Code bei Cancel
  End;

Gruß
TINO