在用authorware制作多媒體作品時,我們希望展示窗口和普通窗口一樣可以最小化、關閉、拖動。要實現這一目的,最簡單的方法是在設置文件屬性時,保留title bar,但這樣會影響作品的美觀。如何制作自己的標題欄,使之和整個作品搭配協調,并且可以實現標題欄的功能呢?
下面讓我們來做一個類似“金山毒霸2002”的窗口(如圖1)。將“金山毒霸2002”的窗口截取下來,用photoshop修改成你滿意的樣子,保存作為作品的背景。再制作最小化和關閉的按鈕圖形以備用。
圖1 類似“金山毒霸2002”的窗口
新建文件
在authorware中新建一個文件。單擊“modify”菜單,選擇“file —properties…”單擊。在彈出的“文件屬性”對話框中選擇“playback”標簽,將“size”項設定為“variable”(可變的),取消“title bar”(標題欄)和“menu bar”(菜單欄)的復選。
窗口設置
拖一個“顯示”圖標到流程線上,命名為“背景”。將制作好的背景圖片導入。
拖一個“計算”圖標到流程線上,命名為“重設窗口大小”,雙擊,在其中輸入程序:
resizewindow(593, 406)
movewindow(100, 100)
第一句的作用是將窗口大小設置成合適大小(以背景圖片的大小為準)。第二句的作用是將窗口移動到屏幕的合適位置。
最小化及關閉功能
在流程線上放置一個“交互”圖標,命名為“窗口控制”。在其右側放置兩個“計算”圖標,響應類型都設為“button”(按鈕響應),分別命名為“最小化”、“關閉”。在它們的分支屬性對話框中“scope”(響應范圍)項復選“perpetual”(永久),“branch”(分支)項選擇“return”(返回)。編輯這兩個響應的按鈕樣式,用制作好的圖片代替默認的樣式并調整其位置。
在“最小化”圖標中輸入程序:
showwindowasync(windowhandle, 6)
這里調用windows api函數showwindowasync實現將窗口最小化。保存時,系統會彈出對話框,提示選擇此函數的來源,選擇winapi.u32。
在“關閉”圖標中輸入程序:
quit(0)
作用是退出本程序。
窗口移動功能
在這里我們要實現當用戶拖動自定義標題欄時,窗口隨之移動的功能。
在交互圖標“窗口控制”右側放置一個“組群”圖標,響應類型為“hot spot”(熱區響應),命名為“移動窗口”,在分支屬性對話框中“scope”(響應范圍)項復選“perpetual”(永久),“branch”(分支)項選擇“return”(返回)。設定其響應范圍包圍背景的上部分,這就是我們的標題欄范圍(如圖2)。
圖2 這就是我們的標題欄
雙擊“移動窗口”圖標,在其中放置一個“交互”圖標,命名為“move window”。在此交互圖標右側放置兩個“計算”圖標,響應類型都為“conditional”(條件響應),響應條件分別為mousedown和~mousedown。設置mousedown圖標分支的屬性,“automatic”為“when true”,“branch”為“try again”。設置~ mousedown圖標分支的屬性,“automatic”為“when true”,“branch”為“exit interaction”。
在mousedown圖標中輸入程序:
releasecapture()
sendmessage( windowhandle, 161, 2, 0)
這里同樣是調用windows api函數實現窗口可拖動的功能。當系統提示選擇這兩個函數的來源時,選擇winapi.u32。
[1] [2] 下一頁
新聞熱點
疑難解答