昨天写了个很小的程序,本身是想写个文本编辑器的,可是在创建子编辑窗口的时候卡住了,得到了一个很难受的错误,错误1406,查了好多资料才明白,现在写下。
错误1406:无法创建最上层子窗口
我是在主窗口的下面创建自己的编辑窗口,使用createwindow(TEXT("edit"),...................),在主消息循环的WM_CREATE下创建的,可是所有的参数都对,还是无法创建出来,于是调用GetLastError()函数进行调试,如果各位同学对这个不熟,看下面的代码介绍:
char szBuffer[128];
sprintf(szBuffer,"error is : %u"GetLastError());
MessageBox(NULL,szBuffer,NULL,MB_OK);
以上就可以得到,错误的编号。
根据错误我才知道,主窗口创建时CreateWindow的返回句柄g_hWnd时要等到WM_CREATE返回时才返回的,而我在创建编辑窗口的时候使用g_hWnd的时候,无法确知g_hWnd的值的,所以错误,因此我们不能这样调用,而是使用callback函数的参数句柄hWnd,这样才行。
说的有点啰嗦,道理讲完了,不知看官是否看的明白,自己的文字水平太差了 :-)
阅读(2698) | 评论(0) | 转发(0) |