DialogBoxA-Makro (winuser.h)

Erstellt ein modales Dialogfeld aus einer Dialogfeldvorlagenressource. DialogBox gibt die Steuerung erst zurück, wenn die angegebene Rückruffunktion das modale Dialogfeld durch Aufrufen der EndDialog-Funktion beendet.

DialogBox wird als Aufruf der DialogBoxParam-Funktion implementiert.

Syntax

void DialogBoxA(
  [in, optional]  hInstance,
  [in]            lpTemplate,
  [in, optional]  hWndParent,
  [in, optional]  lpDialogFunc
);

Parameter

[in, optional] hInstance

Typ: HINSTANCE

Ein Handle für das Modul, das die Dialogfeldvorlage enthält. Wenn dieser Parameter NULL ist, wird die aktuelle ausführbare Datei verwendet.

[in] lpTemplate

Typ: LPCTSTR

Die Dialogfeldvorlage. Dieser Parameter ist entweder der Zeiger auf eine NULL-endende Zeichenfolge, die den Namen der Dialogfeldvorlage angibt, oder ein ganzzahliger Wert, der den Ressourcenbezeichner der Dialogfeldvorlage angibt. Wenn der Parameter einen Ressourcenbezeichner angibt, muss das Wort mit hoher Ordnung null sein, und das Wort mit niedriger Ordnung muss den Bezeichner enthalten. Sie können das MAKEINTRESOURCE-Makro verwenden, um diesen Wert zu erstellen.

[in, optional] hWndParent

Typ: HWND

Ein Handle für das Fenster, das das Dialogfeld besitzt.

[in, optional] lpDialogFunc

Typ: DLGPROC

Ein Zeiger auf die Dialogfeldprozedur. Weitere Informationen zur Dialogfeldprozedur finden Sie unter DialogProc.

Rückgabewert

Keine

Bemerkungen

Das DialogBox-Makro verwendet die CreateWindowEx-Funktion , um das Dialogfeld zu erstellen. DialogBox sendet dann eine WM_INITDIALOG-Nachricht (und eine WM_SETFONT Meldung, wenn die Vorlage den DS_SETFONT oder DS_SHELLFONT Stil angibt) an die Dialogfeldprozedur. Die Funktion zeigt das Dialogfeld an (unabhängig davon, ob die Vorlage den WS_VISIBLE Stil angibt), deaktiviert das Besitzerfenster und startet eine eigene Nachrichtenschleife, um Nachrichten für das Dialogfeld abzurufen und zu senden.

Wenn die Dialogfeldprozedur die EndDialog-Funktion aufruft, zerstört DialogBox das Dialogfeld, beendet die Meldungsschleife, aktiviert das Besitzerfenster (sofern zuvor aktiviert), und gibt den nResult-Parameter zurück, der von der Dialogfeldprozedur beim Aufruf von EndDialog angegeben wurde.

Beispiele

Ein Beispiel finden Sie unter Erstellen eines modalen Dialogfelds.

Hinweis

Der winuser.h-Header definiert DialogBox 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
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 (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll

Siehe auch

Konzept

CreateDialog

Createwindowex

Dialogfelder

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

DialogProc

EndDialog

MAKEINTRESOURCE

Referenz

WM_INITDIALOG

WM_SETFONT