Freigeben über


MessageBoxExW-Funktion (winuser.h)

Erstellt, zeigt und betreibt ein Meldungsfeld. Das Meldungsfeld enthält eine anwendungsdefinierte Nachricht und einen Titel sowie eine beliebige Kombination von vordefinierten Symbolen und Pushtasten. Die Schaltflächen befinden sich in der Sprache der System-Benutzeroberfläche.

Derzeit funktionieren MessageBoxEx- und MessageBox- auf die gleiche Weise.

Syntax

int MessageBoxExW(
  [in, optional] HWND    hWnd,
  [in, optional] LPCWSTR lpText,
  [in, optional] LPCWSTR lpCaption,
  [in]           UINT    uType,
  [in]           WORD    wLanguageId
);

Parameter

[in, optional] hWnd

Typ: HWND-

Ein Handle für das Besitzerfenster des zu erstellenden Meldungsfelds. Wenn dieser Parameter NULL-ist, weist das Meldungsfeld kein Besitzerfenster auf.

[in, optional] lpText

Typ: LPCTSTR-

Die anzuzeigende Nachricht.

[in, optional] lpCaption

Typ: LPCTSTR-

Der Titel des Dialogfelds. Wenn dieser Parameter NULL-ist, wird der Standardtitel Error verwendet.

[in] uType

Typ: UINT-

Inhalt und Verhalten des Dialogfelds. Informationen zu den unterstützten Flags finden Sie unter MessageBox-.

[in] wLanguageId

Typ: WORD-

Die Sprache für den Text, der in den Schaltflächen des Meldungsfelds(n) angezeigt wird. Wenn Sie einen Wert von Null (0) angeben, wird angegeben, dass der Schaltflächentext in der Standardsystemsprache angezeigt wird. Wenn dieser Parameter MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL)ist, wird die aktuelle Sprache verwendet, die dem aufrufenden Thread zugeordnet ist.

Verwenden Sie zum Angeben einer anderen Sprache als der aktuellen Sprache das MAKELANGID Makro, um diesen Parameter zu erstellen. Weitere Informationen finden Sie unter MAKELANGID.

Rückgabewert

Typ: int

Wenn ein Meldungsfeld über eine schaltfläche Abbrechen verfügt, gibt die Funktion den wert IDCANCEL zurück, wenn entweder die ESC-Taste gedrückt wird oder die Schaltfläche Abbrechen ausgewählt ist. Wenn das Meldungsfeld keine schaltfläche Abbrechen hat, wirkt sich das Drücken von ESC nicht aus – es sei denn, es ist eine schaltfläche MB_OK vorhanden. Wenn eine schaltfläche MB_OK angezeigt wird und der Benutzer ESC drückt, wird der Rückgabewert IDOK-.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Wenn die Funktion erfolgreich ist, ist der Rückgabewert einer der folgenden Menüelementwerte.

Zurückgeben von Code/Wert Beschreibung
IDABORT-
3
Die Schaltfläche Abbrechen wurde ausgewählt.
IDCANCEL-
2
Die Schaltfläche Abbrechen wurde ausgewählt.
IDCONTINUE-
11
Die Schaltfläche "Weiter" wurde ausgewählt.
IDIGNORE
5
Die Schaltfläche Ignorieren wurde ausgewählt.
IDNO-
7
Die Schaltfläche "Nein" wurde ausgewählt.
IDOK-
1
Die Schaltfläche OK wurde ausgewählt.
IDRETRY-
4
Die Schaltfläche wiederholen wurde ausgewählt.
IDTRYAGAIN
10
Die Schaltfläche erneut versuchen wurde ausgewählt.
IDYES-
6
Die Schaltfläche Ja wurde ausgewählt.

Bemerkungen

Wenn Sie ein systemmodales Meldungsfeld verwenden, um anzugeben, dass das System nicht genügend Arbeitsspeicher hat, sollten die Zeichenfolgen, auf die durch die lpText- verwiesen wird, und lpCaption Parameter nicht aus einer Ressourcendatei entnommen werden, da ein Versuch zum Laden der Ressource fehlschlägt.

Wenn Sie ein Meldungsfeld erstellen, während ein Dialogfeld vorhanden ist, verwenden Sie ein Handle für das Dialogfeld als hWnd Parameter. Der hWnd Parameter sollte kein untergeordnetes Fenster identifizieren, z. B. ein Steuerelement in einem Dialogfeld.

Anmerkung

Der winuser.h-Header definiert MessageBoxEx als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winuser.h (enthalten Windows.h)
Library User32.lib
DLL- User32.dll

Siehe auch

Konzeptionelle

Dialogfelder

MAKELANGID-

MessageBeep-

MessageBox-

MessageBoxIndirect-

andere Ressourcen

Referenz-

SetForegroundWindow