套件 | flash.ui |
類別 | public final class ContextMenuItem |
繼承 | ContextMenuItem NativeMenuItem EventDispatcher Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
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 | ||
checked : Boolean
控制是否讓此選單項目顯示核取記號。 | NativeMenuItem | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
data : Object
與此選單項目關聯的任意資料物件。 | NativeMenuItem | ||
enabled : Boolean
控制是否啟用此選單項目。 | NativeMenuItem | ||
isSeparator : Boolean [唯讀]
報告此項目是否為選單分隔符號字行。 | NativeMenuItem | ||
keyEquivalent : String
相當於此選單項目的按鍵。 | NativeMenuItem | ||
keyEquivalentModifiers : Array
相當於按鍵修飾詞的按鍵碼值陣列。 | NativeMenuItem | ||
label : String
此選單項目的顯示字串。 | NativeMenuItem | ||
menu : NativeMenu [唯讀]
包含此項目的選單。 | NativeMenuItem | ||
mnemonicIndex : int
選單項目標籤中的記憶鍵字元位置。 | NativeMenuItem | ||
name : String
此選單項目的名稱。 | NativeMenuItem | ||
separatorBefore : Boolean
指出分隔列是否應該出現在指定之選單項目的上方。 | ContextMenuItem | ||
submenu : NativeMenu
與此選單項目關聯的子選單。 | NativeMenuItem | ||
visible : Boolean
指出當顯示 Flash Player 快顯選單時,是否看得見指定的選單項目。 | ContextMenuItem |
公用方法
方法 | 定義自 | ||
---|---|---|---|
ContextMenuItem(caption:String, separatorBefore:Boolean = false, enabled:Boolean = true, visible:Boolean = true)
建立新的 ContextMenuItem 物件,以便加入至 ContextMenu.customItems 陣列。 | ContextMenuItem | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
[覆寫]
建立 NativeMenuItem 物件的副本。 | ContextMenuItem | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
[靜態] | ContextMenuItem | ||
[靜態] | ContextMenuItem | ||
[靜態] | ContextMenuItem | ||
[靜態] | ContextMenuItem | ||
[靜態] | ContextMenuItem | ||
[靜態] | ContextMenuItem | ||
[靜態] | ContextMenuItem | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
[覆寫]
傳回包含 NativeMenuItem 物件所有屬性的字串。 | NativeMenuItem | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
事件
事件 | 摘要 | 定義自 | ||
---|---|---|---|---|
[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。 | EventDispatcher | |||
[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。 | EventDispatcher | |||
在顯示包含項目的選單之前,由此 NativeMenuItem 物件立即傳送。 | NativeMenuItem | |||
在使用者從快顯選單選取某個項目時傳送。 | ContextMenuItem | |||
在按下對等按鍵,但尚未顯示所屬的選單之前,會由此 NativeMenuItem 物件傳送。 | NativeMenuItem | |||
每當使用者選取了選單項目時傳送。 | NativeMenuItem |
屬性詳細資訊
caption | 屬性 |
separatorBefore | 屬性 |
visible | 屬性 |
建構函式詳細資料
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 | () | 方法 |
systemClearMenuItem | () | 方法 |
systemCopyLinkMenuItem | () | 方法 |
systemCopyMenuItem | () | 方法 |
systemCutMenuItem | () | 方法 |
systemOpenLinkMenuItem | () | 方法 |
systemPasteMenuItem | () | 方法 |
systemSelectAllMenuItem | () | 方法 |
事件詳細資訊
menuItemSelect | 事件 |
事件物件類型:
屬性 ContextMenuEvent.type =
flash.events.ContextMenuEvent
屬性 ContextMenuEvent.type =
flash.events.ContextMenuEvent.MENU_ITEM_SELECT
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
在使用者從快顯選單選取某個項目時傳送。使用者藉由按一下使用者之指向裝置的次要按鈕,以產生快顯選單。
定義menuItemSelect
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
contextMenuOwner | 選單所附加至的顯示清單物件。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
mouseTarget | 使用者在其上按一下右鍵以顯示快顯選單的顯示清單物件。 |
target | 已經選取的 ContextMenuItem 物件。 這個 target 並非永遠都是註冊事件偵聽程式之顯示清單中的物件。 請使用 currentTarget 屬性,存取目前正在處理該事件之顯示清單中的物件。 |
範例 如何使用本範例
ContextMenuItemExample.as
下列範例會使用
ContextMenuBuiltInItemsExample
類別,從舞台移除預設快顯選單項目,並加入新的選單項目。 您可以使用下列步驟:
- 宣告
myContextMenu
屬性,然後將其指定給新的 ContextMenu 物件。 - 會呼叫
removeDefaultItems()
方法,它會移除「列印」以外的所有內建快顯選單項目。 - 會呼叫
addCustomMenuItems()
方法,它會使用 Array 的push()
方法,將名為Hello World
的選單項目放入customItems
陣列中。 - 然後,
Hello World
快顯選單項目便會加入到舞台的快顯選單項目清單中。 - 含有 "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; } } }
Tue Jun 12 2018, 03:47 PM Z