Messagebox Returnwerte vergleichen
-
Hiho!
Kann mir jemadn sagen wie man die Return-werte von messageboxes ausliest? mit if() gehts offenbar nicht
-
Sicher geht das mit if.
-
Beim Aufruf der MessageBoxfunktion (AfxMessageBox) bekommst du ein int Wert zurück geliefert.
-
Wie genau soll das mit if funktionieren?
-
if( AfxMessageBox( ... ) == IDOK ) { // Mach was } else { // Mach was }
-
Gut, das Afx hab ich übersehen. Danke!
-
ZaP
Nun... leider hat das eigentlich garnichts mit dem Afx zu tunIch zitiere einfach mal aus der MSDN:
MSDN schrieb:
Return Value
If a message box has a Cancel button, the function returns the IDCANCEL value if either the ESC key is pressed or the Cancel button is selected. If the message box has no Cancel button, pressing ESC has no effect.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
If the function succeeds, the return value is one of the following menu-item values.
IDABORT Abort button was selected.
IDCANCEL Cancel button was selected.
IDCONTINUE Continue button was selected.
IDIGNORE Ignore button was selected.
IDNO No button was selected.
IDOK OK button was selected.
IDRETRY Retry button was selected.
IDTRYAGAIN Try Again button was selected.
IDYES Yes button was selected.Daraus ergibt sich, wenn du gucken willst ob bsw. der Try Again Button gedrückt wurde, folgendes:
if (MessageBox(0, "Es ist ein Fehler aufgetreten!", "Fehler", MB_RETRYCANCEL | MB_ICONERROR) == IDTRYAGAIN) { // ... Wir versuchen es nocheinmal! } else { // Es wurde der IDCANCEL Button geklickt... das wars! }
Referenzen:
MessageBox Function