Die MessageBoxEx -Funktion erstellt, angezeigt und betreibt eine Meldungsfeld angezeigt. Das Meldungsfeld enthält eine anwendungsdefinierte Meldung und Titel, sowie eine beliebige Kombination der vordefinierten Symbole und Drucktasten. Der wLanguageId -Parameter gibt an, welche Gruppe von Ressourcen für die vordefinierten Schaltflächen verwendet wird. Vollständige Beschreibungen der anderen Parameter der MessageBoxExfinden Sie unter MessageBox.
Int MessageBoxEx) HWND hWnd, / / handle des BesitzerfenstersLPCTSTRlpText, / / Adresse der Text im MeldungsfeldLPCTSTRlpCaption, / / Adresse der Titel des MeldungsfeldsUINTuType, / / Stil des MeldungsfeldsWortwLanguageId / / Sprachen-ID);
Geben Sie eines der folgenden Flags an, die im Meldungsfeld enthaltenen Schaltflächen:
| Flagge | Bedeutung |
|---|---|
| MB_ABORTRETRYIGNORE | Das Meldungsfeld enthält drei Schaltflächen: Abort, wiederholen und ignorieren. |
| MB_OK | Das Meldungsfeld enthält eine Schaltfläche: OK. Dies ist die Standardeinstellung. |
| MB_OKCANCEL | Das Meldungsfeld enthält zwei Schaltflächen: OK und Abbrechen. |
| MB_RETRYCANCEL | Das Meldungsfeld enthält zwei Drucktasten: wiederholen und Abbrechen. |
| MB_YESNO | Das Meldungsfeld enthält zwei Drucktasten: Ja und Nein. |
| MB_YESNOCANCEL | Das Meldungsfeld enthält drei Schaltflächen: Ja, Nein und Abbrechen. |
Geben Sie eines der folgenden Flags ein Symbol im Meldungsfeld angezeigt:
| Flagge | Bedeutung |
|---|---|
| MB_ICONEXCLAMATION, MB_ICONWARNING |
Erscheint ein Ausrufezeichen Symbol im Meldungsfeld. |
| MB_ICONINFORMATION, MB_ICONASTERISK |
Ein Symbol, bestehend aus einem Kleinbuchstaben i in einem Kreis angezeigt wird im Feld Nachricht. |
| MB_ICONQUESTION | Im Meldungsfeld wird ein Fragezeichen-Symbol angezeigt. |
| MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND |
Ein Stop-Schild-Symbol im Meldungsfeld angezeigt wird. |
Geben Sie eines der folgenden Flags an, die Schaltfläche "Standard":
| Flagge | Bedeutung |
|---|---|
| MB_DEFBUTTON1 | Die erste Schaltfläche ist die Standardschaltfläche. MB_DEFBUTTON1 ist die Standardeinstellung, wenn MB_DEFBUTTON2, MB_DEFBUTTON3 oder MB_DEFBUTTON4 angegeben wird. |
| MB_DEFBUTTON2 | Die zweite Schaltfläche ist die Standardschaltfläche. |
| MB_DEFBUTTON3 | Die dritte Schaltfläche ist die Standardschaltfläche. |
| MB_DEFBUTTON4 | Die vierte Schaltfläche ist die Standardschaltfläche. |
Geben Sie eines der folgenden Flags an die Modalität des Dialogfelds:
| Flagge | Bedeutung |
|---|---|
| MB_APPLMODAL | Der Benutzer muss das Meldungsfeld reagieren, vor dem Fortsetzen der Arbeit im Fenster von der hWnd -Parameter identifiziert. Jedoch kann in den Fenstern der anderen Threads verschieben und arbeiten in diesen windows. Abhängig von der Hierarchie der Fenster in der Anwendung kann der Benutzer zu anderen Fenstern innerhalb des Threads bewegen können. Alle untergeordneten Fenster des übergeordneten Elements des Meldungsfelds werden automatisch deaktiviert, Popup-Fenster jedoch nicht. MB_APPLMODAL ist die Standardeinstellung, wenn weder MB_SYSTEMMODAL noch MB_TASKMODAL angegeben ist. |
| MB_SYSTEMMODAL | Dasselbe wie MB_APPLMODAL, das Meldungsfeld den WS_EX_TOPMOST Stil hat. Verwenden Sie System-Modal Meldungsfelder zum Benachrichtigen des Benutzers von schweren, potenziell schädlichen Störungen, die sofortige Aufmerksamkeit (z.B. Speicher) erfordern. Dieses Flag hat keine Auswirkungen auf die Fähigkeit der Benutzer für die Interaktion mit Windows außer den hWnd zugeordnet. |
| MB_TASKMODAL | Dasselbe wie MB_APPLMODAL, alle Fenster der obersten Ebene gehören des aktuellen Threads deaktiviert sind, wenn der hWnd -Parameter NULL ist. Verwenden Sie dieses Flag, wenn die aufrufende Anwendung oder Bibliothek verfügt nicht über ein Fensterhandle verfügbar aber muss noch Eingang in anderen Fenstern den aufrufenden Thread zu verhindern, ohne andere Threads anhalten. |
Darüber hinaus können Sie die folgenden Flags angeben.:
Wenn dieses Flag festgelegt ist, muss der hWnd -Parameter NULL sein. Dies ist also das Meldungsfeld auf einem Desktop anders als der desktop entspricht das hWnd angezeigt werden können.
Für Windows NT, Version 4.0 hat der Wert der MB_SERVICE_NOTIFICATION geändert. Finden Sie unter WINUSER.H für die alten und neuen Werte. Windows NT 4.0 bietet Abwärtskompatibilität für vorhandene Dienstleistungen durch den alten Wert auf den neuen Wert in die Umsetzung der MessageBox und MessageBoxExzuordnen. Diese Zuordnung erfolgt nur für ausführbare Dateien, die eine Versionsnummer, als durch den Linker, weniger als 4,0 gesetzt haben.
Um einen Dienst zu erstellen, der MB_SERVICE_NOTIFICATION verwendet und kann auf Windows NT 3.x und Windows NT 4.0 ausgeführt, haben Sie zwei Möglichkeiten.
|
| &Nbsp; 2. Zur Verknüpfungszeit-geben Sie Version 4.0. Verwenden Sie zur Laufzeit die GetVersionEx -Funktion die Systemversion überprüfen. Dann, wenn auf Windows NT 3.x, verwenden Sie MB_SERVICE_NOTIFICATION_NT3X; und auf Windows NT 4.0 verwenden MB_SERVICE_NOTIFICATION. |
Eine Liste der Sprachen-IDs von Win32 unterstützt, finden Sie unter Sprachen-IDs. Beachten Sie, dass jede Version von Windows lokalisierte und Windows NT normalerweise Ressourcen nur für eine begrenzte Anzahl von Sprachen enthält. So zum Beispiel die US-Version bietet LANG_GERMAN, die französische Version bietet LANG_FRENCH, die deutsche Version bietet LANG_GERMAN und die japanische Version bietet LANG_JAPANESE. Jede Version bietet LANG_NEUTRAL. Dies schränkt die Menge der Werte, die mit dem Parameter wLanguageId verwendet werden können. Bevor Sie eine Sprachen-ID angeben, sollten Sie die Locales auflisten, die auf einem System installiert sind.
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Menüpunkt ungleich NULL Wert vom Dialogfeld zurückgegeben.
| Wert | Bedeutung |
|---|---|
| IDABORT | Abbrechen-Schaltfläche ausgewählt wurde. |
| IDCANCEL | Abbrechen-Schaltfläche wurde gewählt. |
| IDIGNORE | Ignorieren geklickt wurde. |
| IDNR | Keine Schaltfläche ausgewählt wurde. |
| IDOK | OK-Taste ausgewählt wurde. |
| IDRETRY | Wiederholen-Schaltfläche ausgewählt wurde. |
| IDYES | Ja wurde Schaltfläche ausgewählt. |
Wenn ein Meldungsfeld eine Schaltfläche Abbrechen verfügt, gibt die Funktion den Wert IDCANCEL, wenn entweder die esc-Taste oder Schaltfläche Abbrechen gedrückt wird. Wenn das Meldungsfeld keine Schaltfläche Abbrechen verfügt, hat drücken die esc-Taste keine Wirkung.
Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (null). Rufen Sie Fehlerinformationen verlängert bekommen, GetLastError.
Beim Erstellen einer System-modales Meldungsfeld an, dass das System wenig Arbeitsspeicher verfügbar ist, die Zeichenfolgen übergeben als Parameter LpText und LpCaption sollte nicht eingenommen werden, aus einer Ressourcendatei, da zum Laden der Ressource fehlschlagen kann.
Wenn eine Anwendung die Funktion MessageBoxEx Ruft und die Flags MB_ICONHAND und MB_SYSTEMMODAL für den uType -Parameter gibt, zeigt der Win32-API das resultierende Nachricht unabhängig vom verfügbaren Arbeitsspeicher. Wenn Sie diese Flags angeben, begrenzt das System die Länge von das Meldungsfeld Text in eine Zeile.
Wenn Sie eine Message-Box erstellen, während ein Dialogfeld vorhanden ist, verwenden Sie das Handle des Dialogfelds als hWnd -Parameter. Der hWnd -Parameter sollte kein untergeordnetes Fenster, z. B. ein Dialogfeld identifizieren.
Windows 95:Das System unterstützt maximal 16.364 Fenstergriffe.
&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Nicht unterstützt.
Header:In winuser.h deklarierten.
Importieren Bibliothek:Verwenden Sie user32.lib.
Unicode:Als Unicode und ANSI-Versionen auf Windows und Windows NT implementiert.
Übersicht über Dialogfelder, Dialogfeld Feld Funktionen, MAKELANGID, MessageBeep,MessageBox , MessageBoxIndirect SetForegroundWindow