注册 登录
编程论坛 汇编论坛

定义并使用多个菜单的问题

toyix 发布于 2008-07-31 23:19, 714 次点击
我在资源文件中定义了多个菜单,我想在程序运行的时候点击菜单项  ,然后 换另一个 一个菜单 ,程序编译没有问题 ,但是 运行的时候总是出现异常      
.elseif eax ==IDM_OPEN
                    
                    invoke    LoadMenu,hInstance,IDM_MAINA
                            mov    hMenu,eax
                     invoke SetClassLong,hWnd,GCL_MENUNAME,hMenu     
                    invoke    UpdateWindow,hWnd这是关键的代码  感觉就是这里的错误 ,但不知为什么,                            今天 我请教一个朋友 他告诉我 invoke    LoadMenu,hInstance,IDM_MAINA
                            mov    hMenu,eax
 

                  invoke  SetMenu ,hWnd,hMenu用这种方法可以实现 ,至于 SetClassLong,他用C++做了一个例子 发现报错SetClassLongA' : cannot convert parameter 3 from 'struct HMENU__ *' to 'long,说明需要LONG类型的,不是hmenu,请问我现在应该怎么办,hMenu定义的类型是dd,虽然 dd和long都是32位 的 ,但是不知道为什么不行  ,汇编中也没有类型强制转换  ,各位大哥帮忙解决一下 感激涕零!!

[[it] 本帖最后由 toyix 于 2008-8-2 10:11 编辑 [/it]]
0 回复
1