標籤雲

搜尋此網誌

2009/10/14

為 swf 自訂右鍵選單

這小技巧其實已經用了很久了
但是竟然一直沒有在這個 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");
}
//===============================

沒有留言: