我正在尝试使用CreateWindowEx
来创建一个仅用于消息处理的窗口:
_hWnd = CreateWindowEx( 0, NULL, NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL );
当我的应用程序执行这行代码时,它总是返回 _hWnd = 0
。我做错了什么?
我正在尝试使用CreateWindowEx
来创建一个仅用于消息处理的窗口:
_hWnd = CreateWindowEx( 0, NULL, NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL );
当我的应用程序执行这行代码时,它总是返回 _hWnd = 0
。我做错了什么?
lpClassName
不应该为NULL
。使用RegisterClassEx
函数注册类并将其传递给CreateWindowEx
。
static const char* class_name = "DUMMY_CLASS";
WNDCLASSEX wx = {};
wx.cbSize = sizeof(WNDCLASSEX);
wx.lpfnWndProc = pWndProc; // function which will handle messages
wx.hInstance = current_instance;
wx.lpszClassName = class_name;
if ( RegisterClassEx(&wx) ) {
CreateWindowEx( 0, class_name, "dummy_name", 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL );
}
RegisterClass
,因为它的文档非常模糊。你知道有好的例子吗? - Jim Fellcurrent_instance
很重要吗?它是如何设置的? - Jim FellSTATIC
类(用于文本标签和图像框)。如果没有给它一个hWndParent
参数,它将创建一个独立的窗口! - André Caron