在VC ++中使用createEx创建窗口时发出警告

时间:2012-04-27 10:27:36

标签: visual-studio-2010 visual-c++

我正在接受警惕 “警告:窗口创建失败: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。

1 个答案:

答案 0 :(得分:4)

//
// MessageId: ERROR_INVALID_MENU_HANDLE
//
// MessageText:
//
// Invalid menu handle.
//
#define ERROR_INVALID_MENU_HANDLE        1401L

这会让你走错路,真正的问题是你无法创建一个子窗口,它也是一个弹出窗口。只有顶级窗口可以弹出窗口。生成诊断是因为对于弹出窗口,它会将您传递的“1234”参数解释为菜单句柄而不是子窗口ID。

删除WS_POPUP样式标志。