对AppendMenu函数的困惑
大家好,在学习Win32汇编的时候遇到了这个函数,最令我搞不懂的是,为什么同一一个函数,其参数会有两种不同的取法(不是取值不同,而是类型不同)例如:
invokeAppendMenu,@hSysMenu,MF_SEPARATOR,0,NULL
invokeAppendMenu,@hSysMenu,0,IDM_HELP,offset szMenuHelp
根据下边查到的此函数的解释:
第二个参数的应该是“uFlags”,但是这里第二个指定为“0”,这是什么意思?
按照Win32 API大全上边说的,这里的取值应该是MF_BITMAP或者MF_CHECKED等等才对呀!这里取值为0代表什么意思呢?
有《Windows 环境下32位汇编语言程序设计》这本书的朋友请看看书上的P134页,这到底是怎么回事呢?
请高手讲解一下吧,小弟先谢了!
---------------------------------------
函数功能:该函数在指定的菜单条、下拉式菜单、子菜单或快捷菜单的末尾追加一个新菜单项。此函数可指定菜单项的内容、外观和性能。函数AppendMenu己被lnsertMenultem取代。但如果不需要lnsertMenultem的扩展特性,仍可使用AppendMenu。
函数原型:BOOL AppendMenu(hMenu hMenu,UINT uFlags,UINT uIDNewltem,LPCTSTR lpNewltem);
参数:
hMenu:将被修改的菜单条、下拉式菜单、子菜单、或快捷菜单的句柄。
UFlags:控制新菜单项的外观和性能的标志。此参数可以是备注里所列值的组合。
UIDNewltem:指定新菜单项的标识符,或者当uFlags设置为MF_POPUP时,表示下拉式菜单或子菜单的句柄。
LpNewltem:指定新菜单项的内容。此参数的含义取决于参数uFlags是否包含MF_BITMAP, MF_OWNERDRAW或MF_STRING标志
先声明``这个贴子是我粘贴过来的```但是看不到其他人的回复了``这个也是我一直对AppendMenu的困惑``希望知情人士赐教
本帖最后由 福禄娃娃 于 2013-9-10 22:42 编辑
AppendMenu这个函数具体每个参数可查MSDNMSDN 2001 October(适合VC6的最后一个版本) ed2k://|file|MSDN_Oct_2001.iso|1558814720|df9843995248f3f88a273f3458f5c4f3|/
先上图,UINT uFlags可以有以下这些参数:
http://bbs.fishc.com/data/attachment/album/201309/10/223521uwpprijeooyouhin.jpg
0表示MF_ENABLED
0x00000000L Enables the menu item so that it can be selected, and restores it from its grayed state.
使菜单项可以被选定,并恢复其灰色显示状态。
无论是Win32汇编还是Win32 API编程都是调用Windows提供的函数实现某些功能。如果不清楚函数参数的功能、选项、作用可查询MSDN。
页:
[1]