Win32:即给编辑框添加新窗口过程,也保留原来的窗口过程属性

mac2022-06-30  20

WNDPROC wpOrigEditProc; LRESULT APIENTRY EditBoxProc(    HWND hwndDlg,     UINT uMsg,     WPARAM wParam,     LPARAM lParam) {     HWND hwndEdit;     switch(uMsg)     {         case WM_INITDIALOG:             // Retrieve the handle to the edit control.             hwndEdit = GetDlgItem(hwndDlg, ID_EDIT);             // Subclass the edit control.             wpOrigEditProc = (WNDPROC) SetWindowLong(hwndEdit,                 GWL_WNDPROC, (LONG) EditSubclassProc);             //             // Continue the initialization procedure.             //             return TRUE;         case WM_DESTROY:             // Remove the subclass from the edit control.             SetWindowLong(hwndEdit, GWL_WNDPROC,                 (LONG) wpOrigEditProc);             //             // Continue the cleanup procedure.             //             break;     }     return FALSE;         UNREFERENCED_PARAMETER(lParam); } // Subclass procedure LRESULT APIENTRY EditSubclassProc(    HWND hwnd,     UINT uMsg,     WPARAM wParam,     LPARAM lParam) {     if (uMsg == WM_GETDLGCODE)         return DLGC_WANTALLKEYS;     return CallWindowProc(wpOrigEditProc, hwnd, uMsg,         wParam, lParam); }

转载于:https://www.cnblogs.com/shenchao/archive/2013/06/04/3117857.html

最新回复(0)