首页 > 代码库 > 一次莫名其妙的CreateWindow失败的事故
一次莫名其妙的CreateWindow失败的事故
---恢复内容开始---
在测试解决某个问题的时候, 创建了一个简单的窗口像这样的
1 WNDCLASS wnd; 2 3 wnd.style = CS_HREDRAW|CS_VREDRAW; 4 wnd.hInstance = hInstance; 5 . 6 . 7 . 8 . 9 . 10 . 11 . 12 wnd.lpszMenuName = NULL; 13 14 15 RegisterClass(&wnd); 16 DWORD error = ::GetLastError(); 17 HWND hwnd = CreateWindowW(....); 18 error = ::GetLasterror();
一直到注册窗口的时候都是正常的
但是CreateWindow之后返回的一直都是空句柄
GetLastError返回的也是0
这感觉没办法调处问题在哪里
遂上网查之
从网上学习到:
CreateWindow的时候,会执行一次设置的WndProc, 并且要返回TRUE
看了一下自己的WndProc,确实没有返回TRUE
加上default: return DefWindowProc(...);
就ok了
一次莫名其妙的CreateWindow失败的事故
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。