鱼C论坛

 找回密码
 立即注册
查看: 2066|回复: 1

对AppendMenu函数的困惑

[复制链接]
发表于 2013-9-10 14:43:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大家好,在学习Win32汇编的时候遇到了这个函数,最令我搞不懂的是,为什么同一一个函数,其参数会有两种不同的取法(不是取值不同,而是类型不同)
例如:
invoke  AppendMenu,@hSysMenu,MF_SEPARATOR,0,NULL
invoke  AppendMenu,@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的困惑``希望知情人士赐教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-10 22:38:57 | 显示全部楼层
本帖最后由 福禄娃娃 于 2013-9-10 22:42 编辑

AppendMenu这个函数具体每个参数可查MSDNMSDN 2001 October(适合VC6的最后一个版本) [url=MSDN_Oct_2001.iso (1.45 GB)]MSDN_Oct_2001.iso (1.45 GB)[/url]
先上图,UINT uFlags可以有以下这些参数:

                               
登录/注册后可看大图


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。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 03:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表