在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);

 

posted @ 2019-10-25 15:05  strive-sun  阅读(736)  评论(0编辑  收藏  举报