Podklasa wystąpienie okna wywołania funkcji SetWindowLong i określić dojście do okna do podklasy, Flaga GWL_WNDPROC i wskaźnik do procedury podklasy. SetWindowLong Zwraca wskaźnik do oryginalnej procedury okna; Użyj tego wskaźnika do przekazywania wiadomości oryginalnej procedury. Procedura okno podklasy musi użyć funkcji CallWindowProc do wywołania procedury okna oryginalnego.
Poniższy przykład pokazuje, jak do podklasy wystąpienie edycji kontroli w oknie dialogowym. Procedura okno podklasy umożliwia formant edycji otrzymać wszystkie klawiatury wejściowe, włączając klawisze enter i kartę, gdy formant ma fokus.
WNDPROC wpOrigEditProc;
(EditBoxProc) LRESULT APIENTRY
HWND hwndDlg, UINT uMsg, WPARAM wParam, FIKCYJNYMI fikcyjnymi) {HWND hwndEdit;
Switch(uMsg) {Sprawa WM_INITDIALOG: / / pobrać dojścia do formantu edycyjnego.
hwndEdit = GetDlgItem (hwndDlg, ID_EDIT);
/ / Kontroli Edycja podklasy.
wpOrigEditProc = SetWindowLong (WNDPROC) (hwndEdit, GWL_WNDPROC, EditSubclassProc (DŁUGA));
/ / / / Nadal inicjowania.
/ / zwróci TRUE;
Sprawa WM_DESTROY: / / Usuń podklasy z formantu edycyjnego.
SetWindowLong (hwndEdit, GWL_WNDPROC, wpOrigEditProc (DŁUGA));
/ / / / Nadal procedury oczyszczania.
/ / podziału;
} Zwraca FALSE;
UNREFERENCED_PARAMETER(lParam);
} / / Podklasy procedury LRESULT APIENTRY EditSubclassProc (
HWND hwnd, UINT uMsg, WPARAM wParam, FIKCYJNYMI fikcyjnymi) {Jeżeli (uMsg == WM_GETDLGCODE) zwraca DLGC_WANTALLKEYS;
Zwraca CallWindowProc (wpOrigEditProc, hwnd, uMsg, wParam, fikcyjnymi);
}