繁体   English   中英

另一个win32问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM