《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > Authorware7中多級菜單的實現方法研究
Authorware7中多級菜單的實現方法研究
2014年微型機與應用第21期
范翠香
(西安理工大學,陜西 西安 710082)
摘要: 在各種多媒體作品中人機交互方式有時需要采用多級菜單方式。雖然Authorware7提供了下拉菜單的交互方式,但要實現二級以上的下拉菜單還需借助外部函數來實現。利用外部文件WINAPI.U32中的有關菜單操作函數,探討并研究了Authorware7實現多級下拉菜單的制作方法,并給出了一個三級下拉菜單的實例制作過程。
Abstract:
Key words :

  摘 要: 在各種多媒體作品中人機交互方式有時需要采用多級菜單方式。雖然Authorware7提供了下拉菜單的交互方式,但要實現二級以上的下拉菜單還需借助外部函數來實現。利用外部文件WINAPI.U32中的有關菜單操作函數,探討并研究了Authorware7實現多級下拉菜單的制作方法,并給出了一個三級下拉菜單的實例制作過程。

  關鍵詞: Authorware;外部函數;菜單

0 引言

  在多媒體作品中有時希望用菜單方式與用戶進行交互,由于需要進行功能分類,多級菜單的使用在多媒體作品中也常被用到。Authorware7中提供了菜單交互方式,但若想設計二級以上菜單則必須引用一些外部函數。實現有關菜單操作的外部函數包含在名為WINAPI.U32的外部文件中。本文研究了在Authorware中利用外部函數設計出多級菜單的實現方法,并給出一個實例設計過程,對設計過程中可能出現的異常情況提供了相關處理方法。

1 有關菜單操作的外部函數

  首先將外部文件WINAPI.U32復制到當前程序所在目錄下。所涉及的外部函數有:

  ⑴GetMenu(HWND hWnd),該函數取得分配給指定窗口的菜單的句柄。這是最高級的菜單句柄。

  ⑵GetSubMenu(HMENU hMenu, int nPos),該函數取得被指定菜單激活的下拉式菜單或子菜單的句柄。其中 nPos的值為菜單或子菜單的索引值,從0開始。

 ?、荝emoveMenu(HMENU hMenu,UINT uPosition,UINT uFlags),該函數從指定菜單刪除一個菜單項或分離一個子菜單。如果菜單項打開一個下拉式菜單或子菜單,RemoveMenu不銷毀該菜單或其句柄,允許菜單被重用。其中當uFlags的值為0(MF_BYCOMMAND)時,表示uPosition給出菜單項的標識符。當uFlags的值為1 024(MF_BYPOSITION)時,表示uPosition給出菜單項基于零的相對位置。

 ?、菵rawMenuBar(HWND hWnd),該函數重畫指定菜單的菜單條。如果系統創建窗口以后菜單條被修改,則必須調用此函數來重畫修改了的菜單條。

 ?、蒊nsertMenu(HMENU hMenu, UINT uPosition,UINT uFlags,UINT uIDNewItem,LPCSTR lpNewItem),該函數插入一個新菜單項到菜單里,并使菜單里其他菜單項下移。

  ⑹DeleteMenu( HMENU hMenu,UINT uPosition,UINT uFlags),該函數從指定菜單里刪除一個菜單項。如果此菜單項打開了一個菜單或子菜單,則此函數銷毀該菜單或子菜單的句柄,并釋放該菜單或子菜單使用的存儲器。

2 菜單設計步驟

  2.1 設計菜單層次結構圖

  首先將多媒體作品中的所有菜單內容進行分類,相同級別相同類型的子菜單和菜單項放在一個下拉菜單中,從而設計出一個菜單結構總圖。如設計一個三級菜單結構如圖1所示。

001.jpg

  2.2 Authorware7中流程線上的菜單設計

002.jpg

 ?、艅h除系統文件菜單。主流程線上添加一個名為“刪除系統文件菜單”的群組圖標。該群組圖標設計如圖2所示。其中名為“文件”的交互圖標下放置一個未命名的空的群組圖標,交互類型為下拉菜單。擦除圖標的擦除對象就是上述文件這個交互圖標。其運行效果是擦除原系統顯示的文件菜單,只留下本程序設計要求的菜單內容。

003.jpg

 ?、圃O計菜單結構圖中所有菜單。在主流程上按照菜單結構圖從外到內依次添加交互圖標,一個菜單添加一個交互圖標。設計各個菜單時,當一個菜單的所有菜單項均為子菜單時,該菜單下設計時至少放置一個下拉菜單項,如菜單結構圖中的菜單A,兩個菜單項均為子菜單,故設計時先添加一個菜單項A1,其目的是形成一個菜單,否則空的交互圖標運行時不會出現菜單。如果菜單中除了子菜單還有其他菜單項,則僅放置那些菜單項即可,如菜單結構圖中菜單B和菜單C。完成初始菜單設計后,如圖3所示。

  其中,每個交互類型圖標的屬性設置均相同,如圖4所示。

004.jpg

  2.3 子菜單的設計

  在流程線上再添加一個計算圖標,命名為“三級菜單的調整”,利用外部文件WINAPI.U32中的有關菜單操作函數,實現三級菜單的設計,計算圖標中的代碼如下[1-2]:

  --獲得窗口菜單的句柄

  menuhandle:=GetMenu(WindowHandle)

  --獲得第一個菜單A的句柄

  subhandle1:=GetSubMenu(menuhandle,0)

  --獲得第二個菜單B的句柄

  subhandle2:=GetSubMenu(menuhandle,1)

  --獲得第3個菜單C的句柄

  subhandle3:=GetSubMenu(menuhandle,2)

  --獲得第4個菜單D的句柄

  subhandle4:=GetSubMenu(menuhandle,3)

  --獲得第5個菜單E的句柄

  subhandle5:=GetSubMenu(menuhandle,4)

  --刪除第5個菜單E

  RemoveMenu(menuhandle,4,1024)

  --刪除第4個菜單D

  RemoveMenu(menuhandle,3,1024)

  --重畫菜單欄

  DrawMenuBar(WindowHandle)

  --將菜單E插入菜單C的第1個菜單項并命名為"菜單E"成為三級菜單

  InsertMenu(subhandle3,0,1040,subhandle5,"菜單E")[2]

  --將菜單D插入菜單B的第2個菜單項并命名為"菜單D"成為三級菜單

  InsertMenu(subhandle2,1,1040,subhandle4," 菜單D")

  --刪除菜單C,準備將其加為菜單A的第1菜單項

  RemoveMenu(menuhandle,2,1024)

  --刪除菜單B,準備將其加為菜單A的第2個菜單項

  RemoveMenu(menuhandle,1,1024)

  --重畫菜單欄

  DrawMenuBar(WindowHandle)

  --將菜單B插入菜單A的第1個菜單項并命名為"菜單B"成為二級菜單

  InsertMenu(subhandle1,0,1040,subhandle2,"菜單B")

  --將菜單C插入菜單A作為第2個菜單項并命名為"菜單C"成為二級菜單

  InsertMenu(subhandle1,1,1040,subhandle3,"菜單C")

  --刪除菜單A原來的菜單項A(插入之后被下移到第3項)

  DeleteMenu(subhandle1,2,1024)

  2.4 保存并打包運行程序

  程序運行結果如圖5所示。

005.jpg

3 可能出現的問題及解決方法

  在設計過程及編譯、打包、運行過程中可能會出現一些錯誤信息,如提示缺少、找不到JS32.dll的出錯信息,這時可從網上下載一個JS32.dll文件拷貝到C:\Windows\System32下。再如出現提示“Unable to display icon "****" because the following error has occurred:Xtra not found.Other objects may also fail to appear.Records of this session will not be saved ”信息,這是因為文件在打包時,需要把文件中所用到的相關Xtra文件拷貝到打包生成的EXE文件所在的同級目錄中,通常把Authorware安裝目錄下的Xtra文件夾整個復制到生成的EXE文件所在的同級目錄中。

4 結論

  本文利用外部文件WINAPI.U32中的有關菜單操作函數,研究了在Authorware7中實現多級菜單的制作方法,并以三級菜單制作為例,提供了較為詳細的設計過程。

參考文獻

  [1] 吳偉信,傅子陽. Authorware中類Windows彈出式菜單模板的設計與實現[J]. 福建電腦, 2007(10):167,169.

  [2] 溫杰. Authorware 菜單制作[J]. 電腦學習, 2009(4):45-47.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久久久久久久久久久女国产乱 | 久久国产欧美日韩精品| 99精品欧美一区二区三区| 亚洲第一精品在线| 亚洲国产成人不卡| 久久国产免费| 久久精品国产成人| 亚洲第一天堂av| 久久福利影视| 久久精品视频网| 亚洲高清影视| 亚洲美女啪啪| 一本大道av伊人久久综合| 99亚洲伊人久久精品影院红桃| 日韩视频一区二区三区在线播放| 亚洲蜜桃精久久久久久久| 日韩午夜电影av| 在线视频一区二区| 亚洲一级黄色av| 午夜激情综合网| 久久激情视频久久| 久久婷婷蜜乳一本欲蜜臀| 老司机精品导航| 欧美精品一区二区三区在线播放 | 欧美金8天国| 欧美日韩国产在线播放| 欧美日韩高清免费| 国产精品jvid在线观看蜜臀 | 国产久一道中文一区| 国产一区二区黄色| 伊人久久噜噜噜躁狠狠躁 | 一区二区三区 在线观看视频| 中文一区在线| 香蕉精品999视频一区二区| 亚洲福利视频二区| 亚洲欧洲精品成人久久奇米网 | 亚洲午夜羞羞片| 欧美在线视频日韩| 美女主播一区| 欧美性片在线观看| 国产亚洲人成网站在线观看| 136国产福利精品导航网址应用| 最新国产精品拍自在线播放| 日韩一区二区免费高清| 亚洲免费伊人电影在线观看av| 欧美在线日韩精品| 日韩亚洲国产欧美| 午夜精品久久一牛影视| 久久综合给合久久狠狠色| 欧美日韩国产综合视频在线观看中文 | 亚洲无玛一区| 久久手机免费观看| 欧美日韩国产91| 国产三级欧美三级日产三级99| 亚洲高清在线| 一区二区三欧美| 亚洲电影免费在线| 亚洲一区自拍| 美女成人午夜| 国产精品视频网站| 91久久一区二区| 午夜精品久久久久久| 亚洲精品国产精品久久清纯直播 | 亚洲精品精选| 欧美诱惑福利视频| 中文精品视频| 久久亚洲综合网| 国产精品成人一区二区网站软件| 狠狠久久婷婷| 亚洲尤物视频在线| 亚洲卡通欧美制服中文| 久久激情五月激情| 欧美色一级片| 1000部国产精品成人观看| 亚洲欧美日韩国产一区二区| 夜夜爽av福利精品导航| 噜噜噜在线观看免费视频日韩| 国产精品第三页| 亚洲国产日韩欧美在线99| 欧美在线观看一区二区三区| 亚洲一二三级电影| 欧美激情区在线播放| 国产综合激情| 亚洲综合99| 亚洲一区二区三区涩| 欧美伦理在线观看| 狠狠88综合久久久久综合网| 亚洲一区二区三区四区在线观看 | 一区二区三区日韩在线观看| 亚洲日本欧美天堂| 久久久免费精品| 国产精品青草久久久久福利99| 亚洲精品视频一区二区三区| 亚洲电影激情视频网站| 久久国产色av| 国产精品视频你懂的| 夜夜嗨av一区二区三区网站四季av | 校园春色综合网| 欧美日韩一二三区| 亚洲人成人99网站| 亚洲精选国产| 欧美电影免费观看高清完整版| 国户精品久久久久久久久久久不卡| 亚洲尤物在线视频观看| 亚洲一区二区视频在线观看| 欧美日韩xxxxx| 亚洲国产天堂久久综合| 亚洲国产成人在线播放| 久久久久久久性| 国产日韩欧美综合一区| 午夜精品短视频| 性欧美超级视频| 国产精品久久福利| 99热精品在线观看| 亚洲图中文字幕| 欧美无砖砖区免费| 9l视频自拍蝌蚪9l视频成人| 一区二区欧美日韩| 欧美日韩在线不卡| 一区二区三区四区国产精品| 亚洲视频国产视频| 国产精品久久久久久久久久妞妞 | 亚洲免费黄色| 欧美日产一区二区三区在线观看| 亚洲精品女人| 中文av一区二区| 国产精品久久久久天堂| 亚洲一区网站| 久久精品国产69国产精品亚洲| 国产欧美日韩在线| 欧美一区二区三区四区高清| 久久手机免费观看| 亚洲国产成人tv| 正在播放亚洲| 国产精品青草久久| 久久gogo国模啪啪人体图| 麻豆9191精品国产| 亚洲精品自在久久| 亚洲影院一区| 国产在线视频不卡二| 亚洲国内自拍| 欧美日韩国产成人在线免费| 一区二区三区免费观看| 欧美中文在线观看国产| 精品99一区二区三区| 99热精品在线| 国产精品一二三四| 亚洲国产欧洲综合997久久| 欧美女主播在线| 亚洲性色视频| 久久米奇亚洲| 亚洲人成人一区二区三区| 亚洲男女自偷自拍| 韩国欧美国产1区| 日韩天堂在线观看| 国产精品色婷婷| 亚洲国产欧美精品| 欧美丝袜一区二区三区| 欧美一区=区| 欧美国产日韩视频| 亚洲一区制服诱惑| 免费亚洲电影在线| 亚洲深夜影院| 久久先锋影音| 一本色道久久综合亚洲精品小说| 久久国产精品色婷婷| 亚洲国产精品一区二区第四页av | 99re热这里只有精品视频| 欧美性猛交一区二区三区精品| 欧美一区二区三区精品| 免费成人激情视频| 中日韩在线视频| 免费不卡中文字幕视频| 国产精品99久久99久久久二8 | 欧美日韩亚洲高清| 欧美一区二区黄| 欧美人与禽猛交乱配| 欧美亚洲系列| 欧美日韩视频在线第一区| 欧美自拍丝袜亚洲| 欧美午夜精彩| 亚洲国产经典视频| 国产精品一区二区女厕厕| 亚洲美女色禁图| 国产真实乱偷精品视频免| 亚洲午夜久久久久久尤物| 樱桃国产成人精品视频| 亚洲欧美日韩国产成人| 亚洲韩日在线| 久久久久99精品国产片| 一区二区三区精品在线| 欧美黄色成人网| 亚洲福利视频免费观看| 国产精品区免费视频| 亚洲精品久久久一区二区三区| 国产日本欧美视频| 亚洲欧美日韩国产一区| 亚洲全黄一级网站| 免费久久99精品国产自| 午夜精品久久久久久99热|