Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anwendungsdefinierte Rückruffunktion, die zusammen 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
)
{...}
Die Parameter
unnamedParam1
Typ: HWND-
Ein Handle für das Dialogfeld. Dieser Parameter wird in der Regel hWnd genannt.
unnamedParam2
Typ: UINT
Die Nachricht. Dieser Parameter wird in der Regel als uMsg bezeichnet.
unnamedParam3
Typ: WPARAM
Zusätzliche nachrichtenspezifische Informationen. Dieser Parameter wird in der Regel "wParam" genannt.
unnamedParam4
Typ: LPARAM
Zusätzliche nachrichtenspezifische Informationen. Dieser Parameter heißt in der Regel "lParam".
Rückgabewert
Typ: INT_PTR
In der Regel sollte die Dialogfeldprozedur TRUE zurückgeben, wenn sie die Nachricht verarbeitet hat, und FALSE , wenn dies nicht der Fall war. Wenn die Dialogfeldprozedur FALSCH zurückgibt, führt der Dialog-Manager als Reaktion auf die Nachricht den Standarddialogvorgang aus.
Wenn die Dialogfeldprozedur eine Nachricht verarbeitet, die einen bestimmten Rückgabewert erfordert, sollte die Dialogfeldprozedur den gewünschten Rückgabewert durch Aufrufen von SetWindowLong(hwndDlg, DWL_MSGRESULT, lResult) unmittelbar vor dem Zurückgeben von TRUE festlegen. Beachten Sie, dass Sie SetWindowLong unmittelbar vor dem Zurückgeben von TRUE aufrufen müssen. Dies kann dazu führen, dass der DWL_MSGRESULT Wert durch eine geschachtelte Dialogfeldnachricht überschrieben wird.
Die folgenden Meldungen sind Ausnahmen von den oben genannten allgemeinen Regeln. Weitere Informationen zur Semantik des Rückgabewerts finden Sie in der Dokumentation zu der jeweiligen Nachricht.
- WM_CHARTOITEM
- WM_COMPAREITEM
- WM_CTLCOLORBTN
- WM_CTLCOLORDLG
- WM_CTLCOLOREDIT
- WM_CTLCOLORLISTBOX
- WM_CTLCOLORSCROLLBAR
- WM_CTLCOLORSTATIC
- WM_INITDIALOG
- WM_QUERYDRAGICON
- WM_VKEYTOITEM
Bemerkungen
Hinweis
Die Parameter werden in der Kopfzeile ohne Namen definiert: typedef INT_PTR (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);. Der Syntaxblock listet sie daher als unnamedParam1 - unnamedParam4. Sie können diese Parameter in Ihrer App benennen. Sie werden jedoch in der Regel wie in den Parameterbeschreibungen dargestellt benannt.
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 DefWindowProc-Funktion nicht aufrufen, um unerwünschte Nachrichten zu verarbeiten. Unerwünschte Nachrichten werden intern über die Fensterprozedur des Dialogfelds verarbeitet.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 2000 Professional [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows 2000 Server [nur Desktop-Apps] |
| Zielplattform | Fenster |
| Header | winuser.h (enthalten Windows.h) |
Siehe auch
Konzeptionelle
Referenz