我正在接受警惕 “警告:窗口创建失败:GetLastError返回0x00000579” 使用以下代码时
CWnd* m_pWndStatic = new CWnd;
m_pWndStatic->CreateEx(0, _T("STATIC"),
_T("Hi"), WS_CHILD | WS_VISIBLE | WS_POPUP,
CRect(0, 0, 20, 20), this, 1234);
如果我在没有PopUp即WS_POPUP的情况下调用它,它可以正常工作。我正在使用VS2010。
答案 0 :(得分:4)
//
// MessageId: ERROR_INVALID_MENU_HANDLE
//
// MessageText:
//
// Invalid menu handle.
//
#define ERROR_INVALID_MENU_HANDLE 1401L
这会让你走错路,真正的问题是你无法创建一个子窗口,它也是一个弹出窗口。只有顶级窗口可以弹出窗口。生成诊断是因为对于弹出窗口,它会将您传递的“1234”参数解释为菜单句柄而不是子窗口ID。
删除WS_POPUP样式标志。