国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

23.4.創建本地菜單

2024-04-27 13:52:32
字體:
來源:轉載
供稿:網友
23.4.1.問題
我想提供一個本地菜單供用戶執行特殊的命令。
23.4.2.解決辦法
使用本地的菜單API 創建程序和窗體菜單。
23.4.3.討論
本地菜單API類提供了操作系統本地菜單的相關特性。你可以添加菜單項以及監聽菜單項選擇事件。有好幾種本地菜單類型,如何創建和交互這取決于你的AIR程序所運行的操作系統,因此你添加菜單時要確認是否支持所有目標操作系統。

Mac OS X操作系統支持應用程序菜單。應用程序菜單是個全局菜單,可被程序工具欄所訪問,且不依賴于當前獲得焦點的本地窗口。應用程序菜單是MAC OS X操作系統自動創建的,你可以往上面添加菜單項或子菜單以及事件處理器,成為標準菜單。

Windows操作系統支持的本地菜單本認為是窗體菜單。Window菜單顯示在本地窗體對象上,剛好在標題欄下面,且只支持具有系統邊框的本地窗體,因此當<mx:Window>實例的systemChrome屬性被設為none時Window菜單是不能被添加進去的。

要檢測AIR 程序運行在什么操作系統上, 你可以使用NativeWindow.supportsMenu 和
+展開
-ActionScript
NativeApplication.supportsMenu屬性:
if( NativeWindow.supportsMenu )
{
// Windows
}
else if( NativeApplication.supportsMenu )
{
// Mac OS X
}

如果NativeWindow.supportsMenu屬性值為true,運行在Windows操作系統下的程序具有本地窗口菜單。flash.desktop.NativeApplication類提供程序級信息和函數,其中有個靜態的supportsMenu屬性。如果NativeApplication對象支持程序級菜單,則說明當前運行在Mac OS X環境中。

要添加本地菜單對象作為根菜單,可先實例化NativeMenu,并賦值給NativeWindow或NativeApplication實例的menu屬性:
+展開
-ActionScript
if( NativeWindow.supportsMenu )
{
stage.nativeWindow.menu = new NativeMenu();
}
else if( NativeApplication.supportsMenu )
{
NativeApplication.nativeApplication.menu = new NativeMenu();
}

設置好根菜單后,接著就可以添加菜單或子菜單到NativeMenu對象上了。下面的例子在<mx:WindowedApplication>上創建一個應用程序菜單或窗體菜單,這取決在什么操作系統上:
+展開
-XML
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="verticalwindowComplete="initHandler();">

<mx:Script>
<![CDATA[
private function initHandler():void {
var fItem:NativeMenuItem = new NativeMenuItem( "File");
var fileMenu:NativeMenuItem;
if( NativeWindow.supportsMenu ){
stage.nativeWindow.menu = new NativeMenu();
fileMenu = stage.nativeWindow.menu.addItem( fItem);
}
else if( NativeApplication.supportsMenu ){
NativeApplication.nativeApplication.menu = new NativeMenu();
fileMenu = NativeApplication.nativeApplication.menu.addItem( fItem );
}
fileMenu.submenu = createFileMenu();
}
private function createFileMenu():NativeMenu {
var menu:NativeMenu = new NativeMenu();
var openItem:NativeMenuItem = new NativeMenuItem( "Open");
var openCmd:NativeMenuItem = menu.addItem( openItem);
openCmd.addEventListener( Event.SELECT, openHandler);
var saveItem:NativeMenuItem =new NativeMenuItem( "Save");
var saveCmd:NativeMenuItem = menu.addItem( saveItem);
saveCmd.addEventListener( Event.SELECT, saveHandler);
return menu;
}
private function openHandler( evt:Event ):void {
printOut.text += "You selected open./n";
}
private function saveHandler( evt:Event ):void{
printOut.text += "You selected save./n";
}

]]>
</mx:Script>
<mx:TextArea id="printOutwidth="100%height="100%" />
</mx:WindowedApplication>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鸡泽县| 株洲县| 综艺| 临泽县| 西华县| 大埔区| 西林县| 靖宇县| 枞阳县| 宁南县| 大城县| 诸城市| 株洲市| 大丰市| 曲阜市| 合山市| 茌平县| 洮南市| 陆川县| 滦南县| 碌曲县| 玉山县| 德惠市| 日土县| 图们市| 增城市| 四平市| 鄂伦春自治旗| 青州市| 宁都县| 枝江市| 库车县| 五台县| 兰坪| 宁强县| 汤阴县| 东乌珠穆沁旗| 会昌县| 宁阳县| 安乡县| 隆林|