MessageBox



  • Wo ist der unterschied
    MessageBox("LLLLLLAAAAA", "XYZ", MB_OK | MB_ICONSTOP);
    oder
    ::MessageBox(NULL,"LLLLLLAAAAA", "XYZ", MB_OK | MB_ICONSTOP);
    Vielen Dank



  • also keinen, habe mir gedacht :p



  • TOMXYZ schrieb:

    also keinen, habe mir gedacht :p

    Tja, falsch gedacht :p

    Einen Unterschied gibt's dann, wenn dieser Code in einem Scope steht, aus dem heraus mehrere MessageBox-Funktion in unterschiedlicher "Scope-Tiefe" vorhanden sind. Der Compiler sucht normalerweise von innen nach außen nach einer passenden Funktion. Der :: zwingt ihn dazu, nur im äußersten (globalen) Namensraum zu suchen.

    Konkretes Beispiel:
    Innerhalb einer Memberfunktion einer von CWnd abgeleiteten Klasse.



  • Erstere (sofern es sich um CWnd::MessageBox handelt) hat als Parent-Fenster das CWnd, dessen MessageBox-Funktion du aufrufst. Das Fenster wird disabled, und generell ist das Handling mit Taskleiste und Alt-TAB-switchen "korrekt". Nicht so bei ::MessageBox(NULL, ...)...


Anmelden zum Antworten