MessageBoxEx

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);
 

Parameter

hWnd
Identifiziert das Besitzerfenster des Meldungsfelds erstellt werden. Wenn dieser Parameter NULL ist, hat das Meldungsfeld kein Besitzerfenster.
lpCaption
Zeiger auf eine Null-terminierte Zeichenfolge mit der Meldung angezeigt werden soll.
lpszTitle
Zeiger auf eine Null-terminierte Zeichenfolge für den Titel des Dialogfelds verwendet. Wenn dieser Parameter NULL ist, wird der Standardtitel Fehler verwendet.
uType
Gibt einen Satz von Bitflags, die den Inhalt bestimmen und das Verhalten des Dialogfelds. Dieser Parameter kann eine Kombination von Flags aus den folgenden Gruppen von flags.

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.:

MB_DEFAULT_DESKTOP_ONLY
Der Desktop gegenwärtig erhalten, Eingang muss ein Standard-Desktop; Andernfalls schlägt die Funktion fehl. Ein Standard-Desktop ist eine, die eine Anwendung läuft auf, nachdem der Benutzer sich angemeldet hat.
MB_HELP
Fügt eine Hilfeschaltfläche im Meldungsfeld hinzu. Wählen die Schaltfläche Hilfe klicken oder F1 drücken generiert ein Ereignis, Hilfe.
MB_RIGHT
Der Text ist rechtsbündig.
MB_RTLREADING
Zeigt Nachricht und die Beschriftung Text mit rechts-nach-links Leserichtung auf hebräischen und arabischen Systemen.
MB_SETFOREGROUND
Das Meldungsfeld wird das Vordergrundfenster. Intern ruft das System die SetForegroundWindow -Funktion für das Meldungsfeld.
MB_TOPMOST
Das Meldungsfeld wird mit den Fensterstil WS_EX_TOPMOST erstellt.
MB_SERVICE_NOTIFICATION
Windows NT: Der Aufrufer ist ein Dienst benachrichtigt den Benutzer über ein Ereignis. Die Funktion zeigt ein Meldungsfeld auf dem aktuellen active Desktop selbst dann, wenn kein Benutzer am Computer angemeldet ist.

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.
  1. Zur Link-Zeit geben Sie eine Versionsnummer kleiner als 4.0; oder
&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.

MB_SERVICE_NOTIFICATION_NT3X
Windows NT: Dieser Wert entspricht dem Wert definiert für MB_SERVICE_NOTIFICATION für Windows NT, Version 3.51.
wLanguageId
Gibt die Sprache in dem den Text in der vordefinierten Schaltflächen angezeigt. Dieser Wert muss in Form von zurückgegeben wird die MAKELANGID Makro.

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.

Rückgabewerte

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.

Bemerkungen

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.

QuickInfo

&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.

Siehe auch

Übersicht über Dialogfelder, Dialogfeld Feld Funktionen, MAKELANGID, MessageBeep,MessageBox , MessageBoxIndirect SetForegroundWindow

Index