這小技巧其實已經用了很久了
但是竟然一直沒有在這個 blog 裡寫一篇關於這個的備忘
今天來補一下吧
InteractiveObject 類別下層的每一個物件都可以有一個唯一快顯選單,可以將 Stage 屬性 showDefaultContextMenu 設為 false 移除選單中所有預設的命令( 除了「設定」和「關於」以外 )。
那要怎麼自訂快顯選單咧~~
先建立一個新的 ContextMenu 類別實體、呼叫 hideBuiltInItems() 方法,並將該實體指定給該 DisplayObject 實體的 contextMenu 屬性。
下面來看看簡單的 Demo Code:
import flash.net.*;
import flash.ui.*;
....(省略)
private var customMenu:ContextMenu;
private var customMenuItem:ContextMenuItem;
....(省略)
//===============================
//custom ContextMenu setup
private function initContextMenu():void {
customMenu = new ContextMenu();
customMenuItem = new ContextMenuItem("By Edward Lo");
customMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contextMenuHandler);
customMenu.hideBuiltInItems();
customMenu.customItems.push(customMenuItem);
this.contextMenu = customMenu;
}
//ContextMenuEvent Handler
private function contextMenuHandler(e:ContextMenuEvent):void {
navigateToURL(new URLRequest("http://edscb.blogspot.com/"),"_blank");
}
//===============================
沒有留言:
張貼留言