Een dialoogvenster vak procedure is vergelijkbaar met de procedure van een venster in dat het systeem berichten naar de procedure verzendt wanneer er informatie te geven of taken uit te voeren. In tegenstelling tot een venster procedure roept een dialoogvenster vak procedure nooit de functie DefWindowProc . In plaats daarvan wordt de Booleaanse waarde TRUE als het verwerkt een bericht of FALSE als dit niet het geval.
Elke procedure vak dialoogvenster heeft de volgende vorm:
BOOL APIENTRY DlgProc (hwndDlg, bericht, wParam, lParam) HWND hwndDlg;
UINT bericht;
WPARAM wParam;
LPARAM lParam;
{schakelaar (bericht) {/ / plaats bericht cases hier.
standaard: return FALSE;
}
}
De procedureparameters dienen hetzelfde doel als in een venster procedure, met de parameter hwndDlg ontvangen de vensteringang van het dialoogvenster.
Meeste dialoogvenster vak procedures het bericht WM_INITDIALOG en de WM_COMMAND berichten verzonden door de besturingselementen verwerken, maar weinig of geen andere berichten verwerken. Als een dialoogvenster vak procedure een bericht niet verwerkt, moet deze resulteren in FALSE om het systeem voor het verwerken van de berichten intern direct. De enige uitzondering op deze regel is het bericht WM_INITDIALOG. Het dialoogvenster vak procedure moet retourneren TRUE om het systeem voor het verder verwerken van het WM_INITDIALOG bericht. In ieder geval moet de procedure niet call DefWindowProc.