bigkeung 发表于 2013-4-26 19:07:10

Win32汇编教程里的FirstWindow例子的相关问题

在主窗口的处理消息函数中, 创建了一个按钮, 点击按钮将打开一个网址。
部分代码截图如下:

在.elseif eax == WM_CREATE这个分支上调用CreateWindowEx函数, 创建一个按钮, 这个函数的倒数第4各参数(hWnd), 是父窗口的句柄, 是由_ProcWinMain这个消息过程传过来的参数, 按老师讲的,这个句柄就是主窗口的句柄, 这个主窗口的句柄我放在了全局变量hWinMain里了, 但我把倒数第4各参数(hWnd)换成全局变量hWinMain句柄后运行程序,为什么按钮没有显示出来啊, 如果倒数第4个参数是hWnd, 按钮就能正常显示。 请各位鱼油帮我解答下。 谢谢了。

小名明SIU 发表于 2013-4-28 01:00:30

调用CreateWindowEx创建窗口后,返回句柄给hWinMain之前,就进入了WM_CREATE,所以这个时候hWinMain还没有句柄值。那为什么hwnd可以呢,这是因为窗口应经创建,windows把消息发送给窗口过程的时候,是以消息的形式(要填写MSG结构的),MSG的hWnd就被填写,所以hwnd有值并且是窗口句柄
页: [1]
查看完整版本: Win32汇编教程里的FirstWindow例子的相关问题