首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

WIN32汇编,在窗口内创建一个小按钮的有关问题

2013-12-26 
WIN32汇编,在窗口内创建一个小按钮的问题在窗口过程中,我的代码如下.elseif eax WM_CREATEinvoke Create

WIN32汇编,在窗口内创建一个小按钮的问题
在窗口过程中,我的代码如下

.elseif eax== WM_CREATE
        invoke CreateWindowEx,NULL,offset szButton,\
       offset szButtonText, WS_CHILD or WS_VISIBLE,\
                           10,10,60,20,\
                           hWnd,1,hInstance,NULL


我的问题是:
本来我是将倒数第4个参数写成hWinMain,hWinMain是我设立的全局变量,用来放窗口句柄的,我就创建了一个窗口,因此我想在这里用hWinMain就可以了,也没有多的窗口去混淆啊,hWinMain不就是父窗口吗?可是结果就是生成的窗口不显示小按钮!
将hwinmain改成hwnd就可以正常显示小按钮了!

我在这里就搞不懂了,为什么hWinMain就不可以,而用hWnd就可以了呢?在只有一个窗口的情况下,hWinMain不就是应该等同hWnd了吗?
求解释!
[解决办法]
这个很简单啊,因为这时你的 hWinMain 还没有被赋值,所以 hWinMain 是无效的,更不会是 hWnd 。通常的代码应该是在创建主窗口的 CreateWindowEx() 函数调用结果赋予 hWinMain,你上面的这个代码是在主窗口的 WM_CREATE 消息里,这时主窗口的 CreateWindowEx() 函数调用仍然在处理中还没有返回,故而 hWinMain 没有被有效赋值。

热点排行