Freigeben über


MessageBoxExA-Funktion (winuser.h)

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

Derzeit funktionieren MessageBoxEx und MessageBox auf die gleiche Weise.

Syntax

int MessageBoxExA(
  [in, optional] HWND   hWnd,
  [in, optional] LPCSTR lpText,
  [in, optional] LPCSTR 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, hat das Meldungsfeld kein Besitzerfenster.

[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 angezeigt wird. Wenn Sie einen Wert von null (0) angeben, wird der Schaltflächentext in der Standardsystemsprache angezeigt. Wenn dieser Parameter ist, wird MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL)die aktuelle Sprache verwendet, die dem aufrufenden Thread zugeordnet ist.

Um eine andere Sprache als die aktuelle Sprache anzugeben, verwenden Sie das MAKELANGID-Makro , um diesen Parameter zu erstellen. Weitere Informationen finden Sie unter MAKELANGID.

Rückgabewert

Typ: int

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

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

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

Rückgabecode/-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.

Hinweise

Wenn Sie ein systemmodales Meldungsfeld verwenden, um anzugeben, dass das System wenig Arbeitsspeicher hat, sollten die Zeichenfolgen, auf die die Parameter lpText und lpCaption verweisen, nicht aus einer Ressourcendatei entnommen werden, da ein Versuch, die Ressource zu laden, möglicherweise 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.

Hinweis

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 nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll

Siehe auch

Konzept

Dialogfelder

MAKELANGID

MessageBeep

Messagebox

MessageBoxIndirect

Andere Ressourcen

Referenz

SetForegroundWindow