Freigeben über


DialogBoxA-Makro (winuser.h)

Erstellt ein modales Dialogfeld aus einer Ressourcenressource für Dialogfeldvorlagen. DialogBox- gibt erst die Steuerung zurück, wenn die angegebene Rückruffunktion das modale Dialogfeld beendet, indem die funktion EndDialog aufgerufen wird.

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 mit Null beendete Zeichenfolge, die den Namen der Dialogfeldvorlage oder einen ganzzahligen Wert angibt, der den Ressourcenbezeichner der Dialogfeldvorlage angibt. Wenn der Parameter einen Ressourcenbezeichner angibt, muss das Wort mit hoher Reihenfolge null sein, und das Wort mit niedriger Reihenfolge 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

Nichts

Bemerkungen

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

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 durch die Dialogfeldprozedur beim Aufruf EndDialogangegeben wird.

Beispiele

Ein Beispiel finden Sie unter Erstellen eines modalen Dialogfelds.

Anmerkung

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

CreateDialog-

CreateWindowEx-

Dialogfelder

DialogBoxIndirect-

DialogBoxIndirectParam-

DialogBoxParam-

DialogProc-

EndDialog-

MAKEINTRESOURCE-

Referenz-

WM_INITDIALOG

WM_SETFONT