在authorware5.0以上版本可以直接使用知識對象“message box”來調用windows的消息對話框,若在authorware4.0及以下版本中,則必須調用外部函數winapi.u32,選擇載入messagebox函數,從而調用windows的消息對話框。
一、 autorware5.0以上中message box函數的使用
在authorware5.0以上版本中引入了“知識對象”功能,系統自身提供了許多函數功能,用戶只需按知識對象的提示作出相應的選擇,就能完成函數的使用,實現了可視化編程。
step1:選擇“knowledge objects”中的“message box”知識對象,如圖。并把此知識對象用鼠標拖動到流水線處。
step2:在出現的“buttons”對話框中選擇一種按鈕形式,本例選“yes, no”,如圖。然后點擊“next”按鈕。
step3:在“icon”對話框中選擇消息框中的圖標,如圖。然后點擊“next”按鈕。
step4:在“caption/message”對話框中選擇消息框中的窗口名稱和欲輸入的消息框文字,如圖。然后點擊“next”按鈕。
step5:在“returned value”對話框中選擇消息框中的變量返回值,如圖表示設置返回的變量為“value”,其中“button number”表示返回按鈕的數字,“button name”表示返回按鈕的名稱,如“yes”。然后點擊“next”按鈕。
step6:這里將出現一個如圖所示的要求建立變量的對話框,選擇“是(y)”按鈕。
step7:設置完畢后,流水線中message box對象的圖標如圖。
step8:運行程序,出現如圖所所示的消息對話框。怎么樣?簡單吧!那你也試試。
二、autorware5.0以下中message box函數的使用
1 winapi.u32中messagebox函數的調用
先把winapi.u32復制到源程序所在的相同目錄中,然后選擇“window→functions”或按快捷鍵ctrl+shift+f,出現如圖1的界面,在“category”選擇相應authorware程序名,未命名時就為[untitled]。
圖 1
再點擊按鈕“load…”,在對話框中選擇源程序目錄下的winapi.u32,再在圖2所示中的函數庫中選擇“messagebox”函數,單擊“load”,此時函數已被載入,可用于計算圖標中。
圖2
2 messagebox函數的基本格式
messagebox函數的使用基本格式為:int:= messagebox( hwnd hwnd , lpcstr lptext, lpcstr lpcaption, uint utype)。各量的含義分別為:hwnd hwnd:程序主窗口的窗口句柄,在authoraware中為系統變量windowhandle;lpcstr lptext:輸入消息對話框正文; lpcstr lpcaption:輸入消息對話框標題;uint utype:是一個字符串常量,該字符串的值決定消息對話框中按鈕、圖標等標志情況。如為0顯示“確定”按鈕;為1顯示 “確定”、“取消”按鈕;為4顯示“是”、“否”按鈕。;int: 一個變量名,用于記錄messagebox函數的返回值。當用戶選擇了“確定”、“取消”、“終止”、“重試”、“忽略”、“是”、“否”按鈕其返回值分別為1,2,3,4,5,6,7。
如在計算圖標中輸入“messagebox( windowhandle ,"確定退出嗎?","測試程序",1)”,運行后顯示為:
輸入“messagebox( windowhandle , "/r 版權所有,不得用于商業用途!! /r/r 程序設計: 汪紀苗 /r/r浙江省鄞縣中學 淺淺工作室 ","《布朗運動模擬程序》1.1版 ",48)”顯示為
其中“/r”的作用是換行,uint utype=48是顯示 和“確定”按鈕。
3 挖掘messagebox函數的潛力
利用messagebox函數不但能顯示標準的window消息框,而且可利用函數運行后的返回值對用戶的選擇進行相應的響應,實現與用戶的交互作用。
我們在編制多媒體程序時,在用戶退出程序前一般需要選擇“確定”或“取消”,此時我們就可利用messagebox函數實現這種功能。先在流水線上建立按鈕交互,在“response”中設置成“perpetual”、“branch”中選中“return”,這樣以便讓用戶隨時可以退出。在交互后的群組圖標的流程圖如圖,
在圖標messagebox中輸入:“mess:=messagebox( windowhandle , "按<確定>退出程序,確定退出嗎? /r/r程序設計:汪紀苗 /r/rhttp://nbwjm.go.163.com /r/remail:[email protected] "," 退出...",1)”。
交互圖標選擇“conditional”,如圖3建立“mess=1”和“mess=2”的二個分支,其中在計算圖標“mess=1”中輸入“quit(0)”,群組圖標“mess=2”為空。最后,運行后得到如圖4的消息對話框,選擇“確定”后退出,選擇“取消”仍返回原程序運行處。
圖 3 圖 4
運用上述方法還可制作程序的幫助系統等。authorware作為優秀的多媒體制作軟件,運用它所包含的系統函數、外部函數,能輕松、快捷地實現相應的功能,其中messagebox函數就是一種常見而實用的函數,為我們制作的多媒體程序增色不少。
新聞熱點
疑難解答