Message Box Problem



  • Hi hab mal wieder ne Frage !

    Ich möchte bei einer MessageBox überprüfen welche Schaltfläche das gedrückt worden is . Wie mach ich das bloß ?? 😕

    thx for help

    mfg
    Crash 😉



  • Hallo.

    Schau mal hier: http://www.win-api.de/tut01.html

    Kai



  • Das kommt ganz drauf an, welche Schaltflächen Deine MessageBox hat...

    Befragen wir dazu die MSDN:
    *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.
    *

    Also:

    int Gedrueckter_Button;
    Gedrueckter_Button = MessageBox(NULL, "Hallo", "Hallo", MB_RETRYCANCEL);
    if(Gedrueckter_Button==IDRETRY)
    {
        //Retry wurde gedrückt, also los...
    }
    if(Gedrueckter_Button==IDCANCEL)
    {
        //CANCEL würde gedrückt...
    }
    

    Eleganter kannst Du das per switch(Gedrueckter_Button) machen:

    int Gedrueckter_Button;
    Gedrueckter_Button = MessageBox(NULL, "Hallo", "Hallo", MB_RETRYCANCEL);
    switch(Gedrueckter_Button)
    {
    case IDCANCEL:
        //Cancel Auswertung...
        break;
    case IDRETRY:
        //Retry Auswertung...
        break;
    default:
        break;
    }
    

    [ Dieser Beitrag wurde am 22.03.2003 um 21:45 Uhr von Hepi editiert. ]



  • Ich verstehe nicht, warum solche billigen Fragen hier gestellt werden!? 😕 Also echt! Jetzt haben wir schon den Link zur MSDN überm Forum! Dort findet man (wie zu jeder Funktion) eine umfassende Dokumentation zu MessageBox().



  • Tja... manche sind intelligent, manche nicht.... da letzterer Teil der Menschheit zunehmend an Anzahl gewinnt hilft man halt wo man kann... 😃

    Aber Du hast Recht: Solche Fragen müßten nicht sein, wenn die Leute auch mal nur für 5 Minuten nachdenken würden...



  • Original erstellt von WebFritzi:
    Ich verstehe nicht, warum solche billigen Fragen hier gestellt werden!? 😕 Also echt! Jetzt haben wir schon den Link zur MSDN überm Forum! Dort findet man (wie zu jeder Funktion) eine umfassende Dokumentation zu MessageBox().

    Ich denke mal die meisten Leute die mit C++ anfangen, schauen sich erstmal ein Tutorial an, da sehen sie ein paar Sachen, wollen diese aber erweitern. Allerdings haben sie keine Ahnung wo sie jetzt nachgucken können/sollen (weil sie keine Dokumentation wie die MSDN haben/kennen), folglich schreiben sie mal hier rein und kriegen hoffentlich einen Verweis auf die MSDN. Wenn sie dann schlau genug sind, gucken sie immer erst in MSDN und viele ihrer zukünftigen Fragen müssen gar nicht mehr gestellt werden!



  • Original erstellt von KPC:
    Allerdings haben sie keine Ahnung wo sie jetzt nachgucken können/sollen (weil sie keine Dokumentation wie die MSDN haben/kennen

    Original erstellt von WebFritzi:
    Jetzt haben wir schon den Link zur MSDN überm Forum!

    Das widerspricht sich nun: Niemand, der diese Seite hier aufmerksam liest kann von sich behaupten, er "habe" oder "kenne" die MSDN nicht!
    a) Haben wir einen Link zur MSDN oberhalb des WinAPI-Forums stehen!
    b) In nahezu jedem 3. Posting wird auf die MSDN verwiesen!

    Wer lesen kann ist auch hier ganz klar im Vorteil!

    Und selbst wenn ich bei google nach MessageBox suche, bekomme ich zwangsläufig einen Link zur MSDN!
    Also entweder lernen die Leute endlich mal das Internet vernünftig zu nutzen (nicht immer nur um Spiele und Musik bzw. Filme zu saugen) oder bekommen hier keine Antworten mehr. Denn irgendwann bin ich's auch leid, wandelnde MSDN zu spielen für Leute, die schlichtweg zu FAUL sind, mal 5 Minuten zu suchen...


Anmelden zum Antworten