適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
flash.ui 

ContextMenuItem  - AS3

套件flash.ui
類別public final class ContextMenuItem
繼承ContextMenuItem Inheritance NativeMenuItem Inheritance EventDispatcher Inheritance Object

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

ContextMenuItem 類別代表快顯選單中的項目。每個 ContextMenuItem 物件都有顯示在快顯選單中的註解 (文字)。 若要將新的項目加入到快顯選單,您應將其加入到 ContextMenu 物件的 customItems 陣列。

只要有 ContextMenuItem 類別的屬性,您就可以啟用或停用特定的選單項目,而且能使這些項目變得可見或不可見。

您需要撰寫 menuItemSelect 事件的事件處理常式,以便在使用者選取選單項目時,為該選單項目加入功能。

自訂選單項目會出現在快顯選單的最上方,並且在所有內建項目的上面。 分隔列會區分自訂選單項目和內建項目。在 AIR 中,沒有內建的項目,而且以下限制不適用於 AIR 應用程式安全執行程序中的內容。

限制:

  • 加入到快顯選單的自訂項目不可超過 15 個。
  • 每個註解都必須包含至少一個可見的字元。
  • 控制字元、新行及其他空白字元都會遭到忽略。
  • 註解的長度不得超過 100 個字元。
  • 不論符合的項目是否可見,都會忽略與任何內建項目或其他自訂項目完全相同的註解。 選單註解會在不考慮大小寫、標點符號或空白字元的條件下,與內建註解或現有自訂註解比較。
  • 下列註解不允許使用,不過其中的單字可與其他的單字一起組成自訂註解 (例如,雖然不允許 "Paste",卻允許取 "Paste tastes great"):
     Save
     Zoom In
     Zoom Out
     100%
     Show All
     Quality
     Play
     Loop
     Rewind
     Forward
     Back
     Movie not loaded
     About
     Print
     Show Redraw Regions
     Debugger
     Undo
     Cut
     Copy
     Paste
     Delete
     Select All
     Open
     Open in new window
     Copy link
     
  • 無論是單獨出現,或是與其他的單字一起出現,下列單字都不能在自訂註解中使用:
     Adobe
     Macromedia
     Flash Player
     Settings
     

注意: 當播放程式在非英文的系統上執行時,註解字串便會與英文清單及當地語系化的同等詞彙進行比較。

檢視範例

相關 API 元素



公用屬性
 屬性定義自
  caption : String
會指定顯示於快顯選單中的選單項目註解 (文字)。
ContextMenuItem
 Inherited    checked : Boolean
控制是否讓此選單項目顯示核取記號。
NativeMenuItem
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
 Inherited    data : Object
與此選單項目關聯的任意資料物件。
NativeMenuItem
 Inherited    enabled : Boolean
控制是否啟用此選單項目。
NativeMenuItem
 Inherited    isSeparator : Boolean
[唯讀] 報告此項目是否為選單分隔符號字行。
NativeMenuItem
 Inherited    keyEquivalent : String
相當於此選單項目的按鍵。
NativeMenuItem
 Inherited    keyEquivalentModifiers : Array
相當於按鍵修飾詞的按鍵碼值陣列。
NativeMenuItem
 Inherited    label : String
此選單項目的顯示字串。
NativeMenuItem
 Inherited    menu : NativeMenu
[唯讀] 包含此項目的選單。
NativeMenuItem
 Inherited    mnemonicIndex : int
選單項目標籤中的記憶鍵字元位置。
NativeMenuItem
 Inherited    name : String
此選單項目的名稱。
NativeMenuItem
  separatorBefore : Boolean
指出分隔列是否應該出現在指定之選單項目的上方。
ContextMenuItem
 Inherited    submenu : NativeMenu
與此選單項目關聯的子選單。
NativeMenuItem
  visible : Boolean
指出當顯示 Flash Player 快顯選單時,是否看得見指定的選單項目。
ContextMenuItem
公用方法
 方法定義自
  
ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true)
建立新的 ContextMenuItem 物件,以便加入至 ContextMenu.customItems 陣列。
ContextMenuItem
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。
EventDispatcher
  
[覆寫] 建立 NativeMenuItem 物件的副本。
ContextMenuItem
 Inherited
會將事件傳送到事件流程。
EventDispatcher
 Inherited
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。
EventDispatcher
 Inherited
指出物件是否有已定義的指定屬性。
Object
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
 Inherited
指出指定的屬性是否存在,以及是否可列舉。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
會從 EventDispatcher 物件移除偵聽程式。
EventDispatcher
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
  
[靜態]
ContextMenuItem
  
[靜態]
ContextMenuItem
  
[靜態]
ContextMenuItem
  
[靜態]
ContextMenuItem
  
[靜態]
ContextMenuItem
  
[靜態]
ContextMenuItem
  
[靜態]
ContextMenuItem
 Inherited
傳回代表此物件的字串,根據地區特定慣例進行格式化。
Object
 Inherited
    toString():String
[覆寫] 傳回包含 NativeMenuItem 物件所有屬性的字串。
NativeMenuItem
 Inherited
會傳回指定之物件的基本值。
Object
 Inherited
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。
EventDispatcher
事件
 事件 摘要 定義自
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。EventDispatcher
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。EventDispatcher
 Inherited
    displaying
在顯示包含項目的選單之前,由此 NativeMenuItem 物件立即傳送。NativeMenuItem
  在使用者從快顯選單選取某個項目時傳送。ContextMenuItem
 Inherited
    preparing
在按下對等按鍵,但尚未顯示所屬的選單之前,會由此 NativeMenuItem 物件傳送。NativeMenuItem
 Inherited
    select
每當使用者選取了選單項目時傳送。NativeMenuItem
屬性詳細資訊

caption

屬性
caption:String

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

會指定顯示於快顯選單中的選單項目註解 (文字)。 如需瞭解 caption 值的限制,請參閱 ContextMenuItem 類別概觀。



實作
    public function get caption():String
    public function set caption(value:String):void

separatorBefore

屬性 
separatorBefore:Boolean

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

指出分隔列是否應該出現在指定之選單項目的上方。

注意: 分隔列會固定出現在任何自訂選單項目與內建選單項目之間。

預設值為 false。



實作
    public function get separatorBefore():Boolean
    public function set separatorBefore(value:Boolean):void

visible

屬性 
visible:Boolean

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

指出當顯示 Flash Player 快顯選單時,是否看得見指定的選單項目。

預設值為 true。



實作
    public function get visible():Boolean
    public function set visible(value:Boolean):void
建構函式詳細資料

ContextMenuItem

()建構函式
public function ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true)

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

會建立新的 ContextMenuItem 物件,這個物件可以加入至 ContextMenu.customItems 陣列。

參數
caption:String — 指定與選單項目有關聯的文字。 如需瞭解 caption 值的限制,請參閱 ContextMenuItem 類別概觀。
 
separatorBefore:Boolean (default = false) — 指定分隔列是否會出現在快顯選單中選單項目的上方。 預設值是 false
 
enabled:Boolean (default = true) — 指定在快顯選單中啟用或停用選單項目。 預設值為 true (啟用), 這個參數是選用的參數。
 
visible:Boolean (default = true) — 指定選單項目為可見或不可見。 預設值為 true (可見)。
方法詳細資訊

clone

()方法
override public function clone():NativeMenuItem

建立 NativeMenuItem 物件的副本。

傳回值
NativeMenuItem

systemClearMenuItem

()方法 
public static function systemClearMenuItem():ContextMenuItem

傳回值
ContextMenuItem

systemCopyLinkMenuItem

()方法 
public static function systemCopyLinkMenuItem():ContextMenuItem

傳回值
ContextMenuItem

systemCopyMenuItem

()方法 
public static function systemCopyMenuItem():ContextMenuItem

傳回值
ContextMenuItem

systemCutMenuItem

()方法 
public static function systemCutMenuItem():ContextMenuItem

傳回值
ContextMenuItem

systemOpenLinkMenuItem

()方法 
public static function systemOpenLinkMenuItem():ContextMenuItem

傳回值
ContextMenuItem

systemPasteMenuItem

()方法 
public static function systemPasteMenuItem():ContextMenuItem

傳回值
ContextMenuItem

systemSelectAllMenuItem

()方法 
public static function systemSelectAllMenuItem():ContextMenuItem

傳回值
ContextMenuItem
事件詳細資訊

menuItemSelect

事件
事件物件類型: flash.events.ContextMenuEvent
屬性 ContextMenuEvent.type = flash.events.ContextMenuEvent.MENU_ITEM_SELECT

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

在使用者從快顯選單選取某個項目時傳送。使用者藉由按一下使用者之指向裝置的次要按鈕,以產生快顯選單。

定義 menuItemSelect 事件物件的 type 屬性值。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
contextMenuOwner選單所附加至的顯示清單物件。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
mouseTarget使用者在其上按一下右鍵以顯示快顯選單的顯示清單物件。
target已經選取的 ContextMenuItem 物件。 這個 target 並非永遠都是註冊事件偵聽程式之顯示清單中的物件。 請使用 currentTarget 屬性,存取目前正在處理該事件之顯示清單中的物件。
ContextMenuItemExample.as

下列範例會使用 ContextMenuBuiltInItemsExample 類別,從舞台移除預設快顯選單項目,並加入新的選單項目。 您可以使用下列步驟:
  1. 宣告 myContextMenu 屬性,然後將其指定給新的 ContextMenu 物件。
  2. 會呼叫 removeDefaultItems() 方法,它會移除「列印」以外的所有內建快顯選單項目。
  3. 會呼叫 addCustomMenuItems() 方法,它會使用 Array 的 push() 方法,將名為 Hello World 的選單項目放入 customItems 陣列中。
  4. 然後,Hello World 快顯選單項目便會加入到舞台的快顯選單項目清單中。
  5. 含有 "Right Click Here" 文字的 TextField 物件會新增到舞台中。
package {
    import flash.ui.ContextMenu;
    import flash.ui.ContextMenuItem;
    import flash.ui.ContextMenuBuiltInItems;
    import flash.display.Sprite;
    import flash.text.TextField;

    public class ContextMenuItemExample extends Sprite {
        private var myContextMenu:ContextMenu;

        public function ContextMenuItemExample() {
            myContextMenu = new ContextMenu();
            removeDefaultItems();
            addCustomMenuItems();
            this.contextMenu = myContextMenu;
            addChild(createLabel());
        }

        private function removeDefaultItems():void {
            myContextMenu.hideBuiltInItems();

            var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems;
            defaultItems.print = true;
        }

        private function addCustomMenuItems():void {
            var item:ContextMenuItem = new ContextMenuItem("Hello World");
            myContextMenu.customItems.push(item);
        }
        
        private function createLabel():TextField {
            var txtField:TextField = new TextField();
            txtField.text = "Right Click Here";
            return txtField;
        }
    }
}




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。