首页 > 解决方案 > 'WndClassEx.style = WS_OVERLAPPEDWINDOW' 未注册

问题描述

在下面的代码中,我有一个 WindowClass,它是一个包装 WNDCLASS 结构的类,我遇到了一个问题,当我更改“样式”成员的值时,该类没有注册,感谢所有帮助!

(编辑-因为我现在是凌晨 5 点,如果我犯了一个简单的错误,我深表歉意)

class WindowClass
{
public:
    WindowClass(LPCWSTR lpszClassNameIn, HINSTANCE hInstanceIn = NULL, WNDPROC lpfnWndProcIn = DefaultWindowProcedure)
    {
        WndClassEx.cbSize = sizeof(WndClassEx);
        WndClassEx.lpszClassName = lpszClassNameIn;
        WndClassEx.hInstance = hInstanceIn;
        WndClassEx.lpfnWndProc = lpfnWndProcIn;
        WndClassEx.style = WS_OVERLAPPEDWINDOW; // <-- This Causes The Class To Fail Registration
    }
    VOID Register()
    {
        if (!RegisterClassEx(&WndClassEx))
        {
            throwError(L"Failure To Register Class");
        }
    }
private:
    WNDCLASSEX WndClassEx = { 0 };
};

标签: c++windowswinapistruct

解决方案


推荐阅读