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, ...)...