Freigeben über


CreateDialogA-Makro (winuser.h)

Erstellt ein modusloses Dialogfeld aus einer Dialogfeldvorlagenressource. Das CreateDialog-Makro verwendet die CreateDialogParam-Funktion .

Syntax

void CreateDialogA(
  [in, optional]  hInstance,
  [in]            lpName,
  [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] lpName

Typ: LPCTSTR

Die Dialogfeldvorlage. Dieser Parameter ist entweder der Zeiger auf eine NULL-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 sein 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

Keine

Bemerkungen

Die CreateDialog-Funktion verwendet die CreateWindowEx-Funktion , um das Dialogfeld zu erstellen. CreateDialog sendet dann eine WM_INITDIALOG Nachricht (und eine WM_SETFONT Nachricht, wenn die Vorlage den DS_SETFONT oder DS_SHELLFONT Stil angibt) an die Dialogfeldprozedur. Die Funktion zeigt das Dialogfeld an, wenn die Vorlage den WS_VISIBLE Stil angibt. Schließlich gibt CreateDialog das Fensterhandle an das Dialogfeld zurück.

Nachdem CreateDialog zurückgegeben wurde, zeigt die Anwendung das Dialogfeld (sofern es nicht bereits angezeigt wird) mithilfe der ShowWindow-Funktion an. Die Anwendung zerstört das Dialogfeld mithilfe der DestroyWindow-Funktion . Um die Tastaturnavigation und andere Dialogfeldfunktionen zu unterstützen, muss die Nachrichtenschleife für das Dialogfeld die IsDialogMessage-Funktion aufrufen.

Beispiele

Ein Beispiel finden Sie unter Erstellen eines dialogfelds ohne Modus.

Hinweis

Der winuser.h-Header definiert CreateDialog 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

CreateDialogIndirect

CreateDialogIndirectParam

CreateDialogParam

Createwindowex

DestroyWindow

Dialogfelder

DialogBox

DialogProc

IsDialogMessage

Referenz

Showwindow

WM_INITDIALOG

WM_SETFONT