在win32中使用SetWindowSubclass阻止Enter键
使用阻止Enter键的编辑控件的简单子类来完成此操作:
LRESULT CALLBACK EditSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData) { if (uMsg == WM_CHAR && wParam == VK_RETURN) return 0; LRESULT lRes = DefSubclassProc(hWnd, uMsg, wParam, lParam); if (uMsg == WM_DESTROY) RemoveWindowSubclass(hWnd, EditSubclassProc, 0); return lRes; }
调用它:
SetWindowSubclass(hWndEdit, EditSubclassProc, 0, 0);