Freigeben über


DialogBoxParamA-Funktion (winuser.h)

Erstellt ein modales Dialogfeld aus einer Dialogfeldvorlagenressource. Vor dem Anzeigen des Dialogfelds übergibt die Funktion einen von der Anwendung definierten Wert als lParam-Parameter der WM_INITDIALOG-Nachricht an die Dialogfeldprozedur. Eine Anwendung kann diesen Wert verwenden, um Dialogfeldsteuerelemente zu initialisieren.

Syntax

INT_PTR DialogBoxParamA(
  [in, optional] HINSTANCE hInstance,
  [in]           LPCSTR    lpTemplateName,
  [in, optional] HWND      hWndParent,
  [in, optional] DLGPROC   lpDialogFunc,
  [in]           LPARAM    dwInitParam
);

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

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.

[in] dwInitParam

Typ: LPARAM

Der Wert, der im lParam-Parameter der WM_INITDIALOG Nachricht an das Dialogfeld übergeben werden soll.

Rückgabewert

Typ: INT_PTR

Wenn die Funktion erfolgreich ist, ist der Rückgabewert der Wert des nResult-Parameters , der im Aufruf der EndDialog-Funktion angegeben ist, die zum Beenden des Dialogfelds verwendet wird.

Wenn die Funktion fehlschlägt, weil der hWndParent-Parameter ungültig ist, ist der Rückgabewert 0. Die Funktion gibt in diesem Fall aus Gründen der Kompatibilität mit früheren Versionen von Windows null zurück. Wenn die Funktion aus einem anderen Grund fehlschlägt, ist der Rückgabewert –1. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Die DialogBoxParam-Funktion verwendet die CreateWindowEx-Funktion , um das Dialogfeld zu erstellen. DialogBoxParam 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 (unabhängig davon, ob die Vorlage das WS_VISIBLE-Format 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 DialogBoxParam das Dialogfeld, beendet die Nachrichtenschleife, aktiviert das Besitzerfenster (sofern zuvor aktiviert), und gibt den nResult-Parameter zurück, der von der Dialogfeldprozedur beim Aufruf von EndDialog angegeben wurde.

Hinweis

Der winuser.h-Header definiert DialogBoxParam als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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
APIs ext-ms-win-ntuser-dialogbox-l1-1-1 (eingeführt in Windows 8.1)

Siehe auch

Konzept

Createwindowex

Dialogfelder

DialogBox

DialogBoxIndirect

DialogBoxIndirectParam

DialogProc

EndDialog

MAKEINTRESOURCE

Referenz

WM_INITDIALOG

WM_SETFONT