[英]another win32 problem
这里有一个问题,用c ++和win32 api创建一个子窗口。 如果我检查getLastError函数它返回“87”但我不知道这意味着什么。 我知道我的代码不包含错误,有人可以查看我的代码并帮我弄清楚它是什么问题。
(这是在WinProc WM_CREATE部分。)
HWND hChildWindow = CreateWindowEx(WS_EX_CLIENTEDGE,0,NULL,WS_OVERLAPPEDWINDOW|WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,hwnd,0,GetModuleHandle(0),NULL);
if(!hChildWindow)
{
char text[256];
int errormsg = (int)GetLastError();
sprintf(text,"Error# %i",errormsg);
MessageBox(0,text,"Error",MB_OK|MB_ICONEXCLAMATION);
return false;
}
CreateWindowEx
的第二个参数是一个窗口类(字符串或ATOM
)。 显然, NULL
不是有效值。
PS
据我所知,我的代码不包含错误......
小心这样一个响亮的短语。 当某些东西不起作用时,应仔细检查所有东西。 否则你可能只是指责一些人没有任何好处来解决这个问题。 检查所有内容与标准/文档/规范/等。 在你作出任何判断之前。
87 =无效参数 - 请注意您可以使用FormatMessage从错误代码中获取字符串消息。
快速查看系统错误代码参考指示ERROR_INVALID_PARAMETER
。 您最有可能将无效的样式/标志组合传递给窗口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.