现在的位置: 首页 >> 多媒体 >> Authorware >> Authorware实战开发专题之制作Windows标准菜单方法(2)
添加时间:2005-11-29 来源:网教中国 作者: hellrock
Authorware实战开发专题之制作Windows标准菜单方法(2)

5.2 利用Budmenu.u32制作Windows“特色”菜单

  利用tMsControls.u32制作的Windows标准菜单有个局限性,就是只能制作最多两级的弹出式子菜单,而制作三级以上的子菜单它就“黔驴技穷”了,下面再介绍一个制作Windows标准弹出式菜单的扩展函数:Budmenu.u32。Budmenu.u32目前的最新版本是1.2 Beta1,和tMsControls.u32比较,Budmenu.u32只提供弹出式菜单的支持,但是它有一些自己的“特色”:可以制作BMP图片菜单(1.2 Beta 1版本才支持),真正支持任意多级弹出式子菜单,而且菜单项支持Checked(Unchecked)属性,快捷键设置,更酷的是允许用户修改菜单项的显示文字,心动不如行动呀,马上把“入住” Budmenu.u32的函数大员介绍给大家:

创建弹出式菜单句柄

Menu := mCreatePopupMenu()

添加菜单项

ok := mAppendMenu( Menu, Flags , MenuID , MenuText )

设置消息钩子与Authorware通信

ok := mMenuHookOn( WindowHandle )

显示菜单,x,y为显示菜单的坐标值

ok := mTrackPopupMenu( Menu , Flags , x , y , Reserved , WindowHandle , Reserved )

判断菜单项的选择

LastMenuID := mGetLastMenuID()

设置菜单项的选中属性,Check参数有MF_CHECKED、MF_UNCHECKED属性

ok := mCheckMenuItem( Menu , ID , Check )

检测并获取菜单项的选中状态属性

ok := mGetMenuState( Menu , Id , Flags )

设置菜单项的允许/禁止,Enable参数有MF_ENABLED、MF_DISABLED、MF_GRAYED属性

ok := mEnableMenuItem( Menu , ID , Enable )

删除菜单项或者子菜单

ok := mDeleteMenu( Menu , ID , Flags )

修改存在菜单项的显示文字

ok := mModifyMenu( Menu , ID , Flags , ID , MenuText )

设置菜单项的Alt快捷键,例如&Introduction快捷键就为Alt+I,菜单显示效果为Introduction

ok := mAppendMenu( SelectMenu , 0 , 100 , "&Introduction" )

导入BMP图片文件作为菜单项,这是1.2Beta1版本的新功能

mLoadBitmapFile( theFile )

从外部UCD导入BMP图片资源,Budmenu.u32内部提供了8个小图片,如下图5.7所示。

mLoadBitmapResource( resourceFile, resourceNumber )

添加BMP图片菜单项

mAppendBitmapMenu( Menu , Flags , ID , Bitmap)

设置菜单项的Checked标志为指定的BMP图片资源

mSetMenuItemBitmaps(Menu, ID, Flags, BitmapUnchecked, BitmapChecked)

释放BMP图片资源

mFreeBitmapResource( bitmap )

释放BMP图片文件

mFreeBitmapFile( bitmap )



图5.7 Budmenu.u32自带的BMP图片资源
  Budmenu.u32扩展函数是基于Windows API函数开发的Authorware扩展函数,因此利用它来制作弹出式菜单的时候,首先必须对一些固定变量进行声明赋值,它们的名称和值列表如下:

MF_POPUP := 16

MF_BYCOMMAND := 0

MF_BYPOSITION := 1024

MF_SEPARATOR := 2048

MF_ENABLED := 0

MF_GRAYED := 1

MF_DISABLED := 2

MF_UNCHECKED := 0

MF_CHECKED := 8

MF_USECHECKBITMAPS := 512

MF_STRING := 0

MF_BITMAP := 4

MF_OWNERDRAW := 256

MF_MENUBARBREAK := 32

MF_MENUBREAK := 64

MF_UNHILITE := 0

MF_HILITE := 128


  对Budmenu.u32函数有一些了解后,我们马上开工,制作一个有“特色”的Windows标准下拉菜单及鼠标右键弹出式菜单。范例的程序流程图如下图5.8所示:



图5.8 Budmenu.u32范例程序流程图

(1)变量定义

  如图5.8的程序流程中,“变量定义”计算图标的代码如上述的固定变量列表,主要是对一些必须的固定变量进行赋值
(2)为创建下拉弹出式菜单编写代码

在“创建菜单”计算图标写入如下代码:

--以下代码定义菜单标识ID

MN_LOGIN:=100

MN_RELOGIN:=101

MN_LOGOUT:=102

MN_WIN:=200

MN_UNIX:=201

MN_MEDIA:=202

MN_DB:=203

MN_ADOBE:=300

MN_MM:=301

MN_AW:=400

MN_DR:=401

MN_FL:=402

MN_PR:=403

MN_PS:=404

MN_BMP:=500

MN_HELP:=501


---以下代码创建系统登陆菜单

SYSMenu:=mCreatePopupMenu()

mAppendMenu(SYSMenu,0,MN_LOGIN,"登陆(&L)")

mAppendMenu(SYSMenu,0,MN_RELOGIN,"注销(&R)")

mAppendMenu(SYSMenu,0,MN_LOGOUT,"退出(&E)")

---以下代码创建三级子菜单

TubMenu1:=mCreatePopupMenu()

TubMenu2:=mCreatePopupMenu()

mAppendMenu(TubMenu1,0,MN_AW,"Authorware"^Tab^"Ctrl+A")

mAppendMenu(TubMenu1,0,MN_DR,"Director "^Tab^"Ctrl+D")

mAppendMenu(TubMenu1,0,MN_FL,"Flash "^Tab^"Ctrl+F")

mAppendMenu(TubMenu2,0,MN_PS,"&PhotoShop"^Tab^"Ctrl+P")

mAppendMenu(TubMenu2,0,MN_PR,"&Premiere "^Tab^"Ctrl+E")

mCheckMenuItem(TubMenu1,MN_AW,MF_CHECKED) ---设置菜单项为Checked

mEnableMenuItem(TubMenu2,MN_PR,MF_GRAYED) ---设置菜单项为灰色不可用


---以下代码创建二级子菜单

SubMenu:=mCreatePopupMenu()

mAppendMenu(SubMenu,MF_POPUP,TubMenu1,"&Macromedia")

mAppendMenu(SubMenu,MF_POPUP,TubMenu2,"&Adobe")


---创建版面选择菜单

BBSMenu:=mCreatePopupMenu()

mAppendMenu(BBSMenu,0,MN_WIN,"Windows NT")

mAppendMenu(BBSMenu,0,MN_UNIX,"Unix Linux")

mAppendMenu(BBSMenu,MF_SEPARATOR,0,"")

mAppendMenu(BBSMenu,MF_POPUP,SubMenu,"Multimedia")

mAppendMenu(BBSMenu,MF_SEPARATOR,0,"")

mAppendMenu(BBSMenu,0,MN_DB,"DataBase")

mCheckMenuItem(BBSMenu,MN_DB,MF_CHECKED)


---创建系统帮助菜单

AboutMenu := mCreatePopupMenu()

bmPic:=mLoadBitmapFile(FileLocation^"4U2V.bmp" ) ---导入BMP图片作为菜单

mAppendMenu(AboutMenu,0,MN_HELP," 关于...")

mAppendBitmapMenu(AboutMenu,0,MN

[1] [2]  下一页


上一篇:Authorware实战开发专题之制作Windows标准菜单方法(3) 下一篇:Authorware实战开发专题之制作Windows标准菜单方法
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
·控制音乐播放的两招小技巧
·Authorware插入文本的四种方法
·制作课件心得小记
·节约磁盘的方法
·更改AW打包文件的默认图标
·和PowerPoint文件互调
·显示对象快速对齐
·课件打包小技巧
·2 招控制音乐播放
·也谈Xtras的查找
相关文章
·Authorware实战开发专题之制作Wi
·Authorware实战开发专题之制作Wi
最新文章
·利用Authorware 6.0同时播放多路
·控制音乐播放的两招小技巧
·Authorware实现图片背景透明
·Authorware控制音乐播放绝招
·Authorware中插入视频
·Authorware中自动擦除Flash动画
·Authorware插入文本的四种方法
·Authorware制作古诗对句
·Authorware调整动画尺寸
·Authorware 如何查找Xtras
Google