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.
- WM_CHARTOITEM
- WM_COMPAREITEM
- WM_CTLCOLORBTN
- WM_CTLCOLORDLG
- WM_CTLCOLOREDIT
- WM_CTLCOLORLISTBOX
- WM_CTLCOLORSCROLLBAR
- WM_CTLCOLORSTATIC
- WM_INITDIALOG
- WM_QUERYDRAGICON
- WM_VKEYTOITEM
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
Referenz