Entwickler-Ecke

Sonstiges (Delphi) - Ja, nein und abbrechen in Messagebox


bigknaller - Do 30.01.03 09:18
Titel: Ja, nein und abbrechen in Messagebox
Welche Zahl muss ich bei application.messagebox eingeben, damit Ja, Nein und Abbrechen in der Messagebox erscheinen?


smiegel - Do 30.01.03 09:54

Hallo,


Quelltext
1:
2:
3:
4:
5:
uses
  Dialogs;


  if (Application.MessageBox('Treffen Sie Ihre Wahl:', 'Mit Ja, Nein, Abbrechen', mbYesNoCancel)=idYes) then ShowMessage('Yes-Button gedrückt');


Delete - Do 30.01.03 09:54

Nix Zahlen.

Nimm lieber die Konstanten (die Diskussion, warum hatten wir gerade erst): MB_YESNOCANCEL

Rückgabewerte sind: IDYES, IDNO, IDCANCEL.

Alles weiter hier: Messagebox [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/dialogboxes/dialogboxreference/dialogboxfunctions/messagebox.asp].


Delete - Do 30.01.03 09:56

smiegel hat folgendes geschrieben:
Hallo,


Quelltext
1:
2:
3:
4:
5:
uses
  Dialogs;


  if (Application.MessageBox('Treffen Sie Ihre Wahl:', 'Mit Ja, Nein, Abbrechen', mbYes or mbNo or mbCancel)=idYes) then ShowMessage('Yes-Button gedrückt');


Das sind die Konstanten für den MessagDlg, die du aber in der Messagebox von TApplication einsetzt, das dürfte so nicht hinhauen.

Es wurde desweitern nach der Messagebox vonn TApplication gefragt.


bigknaller - Do 30.01.03 10:08

Okay, danke erstmal. Was mache ich jetzt, wenn ich zum Beispiel auf ID_NO oder ID_CANCEL reagieren will. Da muss ich bestimmt eine Variable deklarieren. Wenn ja, welcher Typ ist es dann?


Delete - Do 30.01.03 10:14

Integer.


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
  Button : Integer;
begin
  Button := Application.Messagebox('Bla', 'Blub', MB_YESNOCANCEL);
  case Button of
  ID_NO, ID_CANCEL:
  begin
    ...;
  end;
  ID_YES:
  begin
    ...;
  end;


bigknaller - Do 30.01.03 10:18

Ok. Danke an alle!
Es klappt jetzt.