问题描述
我正在使用 CreateWindow()
API,它在升级到 VS2019 之前在 VS2015 上正常工作。升级到 VS2015 CreateWindow API 后返回空 HWND。在 AtlAxWinInit()
API 之前调用 CreateWindow()
如下所示:
CreateControl()
{
AtlAxWinInit();
HWND hwndChild = CreateWindow(_T("AtlAxWin"),_T("test"),WS_CHILD|WS_VISIBLE,hwnd,NULL,::GetModuleHandle(NULL),NULL);
}
GetLastError()
返回 1407 错误代码,即 ERROR_CANNOT_FIND_WND_CLASS
:
找不到窗口类。
你能帮我解决这个问题吗..
谢谢..
解决方法
不同版本的 Visual Studio 中的 ATL 窗口类名称已更改。 VS 2019 为“AtlAxWin140
”。
atldef.h
文件在以下宏中定义了 windows 类名的当前版本:ATLAXWIN_CLASS
您应该使用 ATLAXWIN_CLASS
宏而不是 _T("AtlAxWin")。