Freigeben über


DLGPROC-Rückruffunktion (winuser.h)

Anwendungsdefinierte Rückruffunktion, die mit den Funktionsfamilien CreateDialog und DialogBox verwendet wird. Es verarbeitet Nachrichten, die an ein modales oder modusloses Dialogfeld gesendet werden. Der DLGPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. DialogProc ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.

Syntax

DLGPROC Dlgproc;

INT_PTR Dlgproc(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Parameter

unnamedParam1

Typ: HWND

Ein Handle des Dialogfelds.

unnamedParam2

Typ: UINT

Die Meldung.

unnamedParam3

Typ: WPARAM

Zusätzliche meldungsspezifische Informationen.

unnamedParam4

Typ: LPARAM

Zusätzliche meldungsspezifische Informationen.

Typ: INT_PTR

In der Regel sollte die Dialogfeldprozedur TRUE zurückgeben, wenn die Nachricht verarbeitet wurde, und FALSE , wenn dies nicht der Fall ist. Wenn die Dialogfeldprozedur FALSE zurückgibt, führt der Dialog-Manager den Standarddialogvorgang als Reaktion auf die Nachricht aus.

Wenn die Dialogfeldprozedur eine Nachricht verarbeitet, die einen bestimmten Rückgabewert erfordert, sollte die Dialogfeldprozedur den gewünschten Rückgabewert festlegen, indem SetWindowLong(hwndDlg, DWL_MSGRESULT, lResult) unmittelbar vor der Rückgabe von TRUE aufgerufen wird. Beachten Sie, dass Sie SetWindowLong unmittelbar aufrufen müssen, bevor SIE TRUE zurückgeben. Dies kann zuvor dazu führen , dass der DWL_MSGRESULT Wert durch eine geschachtelte Dialogfeldmeldung überschrieben wird.

Die folgenden Meldungen sind Ausnahmen von den oben genannten allgemeinen Regeln. Ausführliche Informationen zur Semantik des Rückgabewerts finden Sie in der Dokumentation für die jeweilige Nachricht.

Rückgabewert

Keine

Bemerkungen

Sie sollten die Dialogfeldprozedur nur verwenden, wenn Sie die Dialogfeldklasse für das Dialogfeld verwenden. Dies ist die Standardklasse und wird verwendet, wenn in der Dialogfeldvorlage keine explizite Klasse angegeben wird. Obwohl die Dialogfeldprozedur einer Fensterprozedur ähnelt, darf sie die Funktion DefWindowProc nicht aufrufen, um unerwünschte Nachrichten zu verarbeiten. Unerwünschte Nachrichten werden intern von der Prozedur des Dialogfeldfensters verarbeitet.

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)

Siehe auch

Konzept

CreateDialog

CreateDialogIndirect

CreateDialogIndirectParam

CreateDialogParam

DefWindowProc

Dialogfelder

DialogBox

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

Referenz

SetFocus

WM_INITDIALOG