所以我的代码有问题。当我想创建多个特定的自定义控件时出现错误“类已存在”。我从来没有见过这个问题,因为我写的其他代码都可以正常工作。
以下是我注册和创建自定义控件的方式:
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());
}
正如我提到的,我编写的其他代码使用创建和注册自定义控件的相同方法正常工作。有人可以告诉我如何解决这个问题以及为什么我会收到这个错误吗?