创建第二个自定义控件时出现“类已存在”错误。 Win32 接口

问题描述 投票:0回答:0

所以我的代码有问题。当我想创建多个特定的自定义控件时出现错误“类已存在”。我从来没有见过这个问题,因为我写的其他代码都可以正常工作。

以下是我注册和创建自定义控件的方式:

void Create(
        DWORD dwExStyles,
        const std::wstring& clsName
        const std::wstring& windowName,
        DWORD dwStyles, int X, HWND hwnd, int Y, int nWidth, int nHeight, HWND hWndParent = nullptr, HMENU hMenu = nullptr, void* lpVoid
    )
    {
        WNDCLASS wndClass = { 0 };`

        wndClass.style = CS_HREDRAW | CS_VREDRAW;
        wndClass.lpfnWndProc = WindowProc;
        wndClass.hInstance = GetModuleHandle(nullptr);
        wndClass.lpszClassName = clsName.c_str();

        if (!RegisterClass(&wndClass))
        {
            throw Exception (GetLastError());
        }

        if (!(hwnd = CreateWindowEx(
            dwExStyles,
           lsName.c_str(),
            windowName.c_str(),
            dwStyles,
            X, Y, nWidth, nHeight,
            hWndParent,
            hMenu,
            GetModuleHandle(nullptr),
            lpVoid
        )))
        {
            throw Exception(GetLastError());
        }

正如我提到的,我编写的其他代码使用创建和注册自定义控件的相同方法正常工作。有人可以告诉我如何解决这个问题以及为什么我会收到这个错误吗?

c++ class winapi
© www.soinside.com 2019 - 2024. All rights reserved.