套件 | flash.display |
類別 | public class NativeMenuItem |
繼承 | NativeMenuItem EventDispatcher Object |
子類別 | ContextMenuItem |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0 |
選單項目可以是命令、子選單或分隔符號字行:
- 若要建立命令項目,請呼叫 NativeMenuItem 建構函式,如此便會傳入字串做為 label 的值,以及傳入
false
做為isSeparator
參數的值。 - 若要建立子選單,請為父選單建立命令項目,再將此子選單的 NativeMenu 物件指派給該項目的
submenu
屬性。您也可以呼叫父 NativeMenu 物件的addSubmenu()
方法,同時建立項目並設定submenu
屬性。 - 若要建立分隔符號,請呼叫 NativeMenuItem 建構函式,如此便會傳入空字串做為 label 的值,以及傳入
true
做為isSeparator
參數的值。
請針對項目或父選單偵聽 select
事件,以偵測選單命令何時遭選取。不管是子選單或分隔符號,都不會傳送 select 事件。偵聽 preparing
事件以判斷選單項目即將透過對等按鍵顯示或啟動的時機。
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
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 | ||
submenu : NativeMenu
與此選單項目關聯的子選單。 | NativeMenuItem |
方法 | 定義自 | ||
---|---|---|---|
建立新的 NativeMenuItem 物件。 | NativeMenuItem | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
建立 NativeMenuItem 物件的副本。 | NativeMenuItem | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
[覆寫]
傳回包含 NativeMenuItem 物件所有屬性的字串。 | NativeMenuItem | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
事件 | 摘要 | 定義自 | ||
---|---|---|---|---|
[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。 | EventDispatcher | |||
[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。 | EventDispatcher | |||
在顯示包含項目的選單之前,由此 NativeMenuItem 物件立即傳送。 | NativeMenuItem | |||
在按下對等按鍵,但尚未顯示所屬的選單之前,會由此 NativeMenuItem 物件傳送。 | NativeMenuItem | |||
每當使用者選取了選單項目時傳送。 | NativeMenuItem |
checked | 屬性 |
data | 屬性 |
enabled | 屬性 |
isSeparator | 屬性 |
keyEquivalent | 屬性 |
keyEquivalent:String
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0 |
相當於此選單項目的按鍵。
請使用小寫字母來設定 keyEquivalent
,以便指定不含 Shift 輔助按鍵的快速鍵。請使用大寫字母來設定,以便指定包含 Shift 輔助按鍵的快速鍵。
根據預設,按鍵修飾詞 (在 Windows 或 Linux 中為 Ctrl,在 Mac OS X 中為 Command) 已納入為對應鍵的一部分。如果您希望對等按鍵只是單純的按鍵 (不包含修飾詞),請將 keyEquivalentModifiers
屬性設定為空的陣列。
實作
public function get keyEquivalent():String
public function set keyEquivalent(value:String):void
keyEquivalentModifiers | 屬性 |
keyEquivalentModifiers:Array
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0 |
相當於按鍵修飾詞的按鍵碼值陣列。
您可以使用 Keyboard 類別中定義的常數,指定修飾詞按鍵碼。有效的修飾詞按鍵包含:
Keyboard.ALTERNATE
Keyboard.COMMAND
Keyboard.CONTROL
如果您沒有指定任何修飾詞,依預設 Windows 或 Linux 就會指定 Keyboard.CONTROL
鍵,而 Mac OS X 則指定 Keyboard.COMMAND
鍵。若您不希望對應鍵包含這些修飾詞,請將此屬性設定為空陣列。
如果您將大寫字母指定給 keyEquivalent
屬性,Shift 鍵就會自動當做修飾詞使用。將 keyEquivalentModifier
設定為空的陣列並不會移除當做修飾詞使用的 Shift 鍵。
實作
public function get keyEquivalentModifiers():Array
public function set keyEquivalentModifiers(value:Array):void
相關 API 元素
label | 屬性 |
menu | 屬性 |
menu:NativeMenu
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0 |
包含此項目的選單。
實作
public function get menu():NativeMenu
mnemonicIndex | 屬性 |
name | 屬性 |
submenu | 屬性 |
submenu:NativeMenu
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0 |
與此選單項目關聯的子選單。
如果將 NativeMenu 物件指定給此屬性,便會變更此選單項目的外觀和行為指令。子選單項目會顯示子選單圖示,並且不會再傳送 select 事件。
注意:將選單新增為本身的子選單 (循環參考) 會造成應用程式當機。
實作
public function get submenu():NativeMenu
public function set submenu(value:NativeMenu):void
相關 API 元素
NativeMenuItem | () | 建構函式 |
public function NativeMenuItem(label:String = "", isSeparator:Boolean = false)
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0 |
建立新的 NativeMenuItem 物件。
若要建立選單命令,請將 label
參數設定為包含顯示標籤的字串,以及將 isSeparator
設定為 false
。
若要建立子選單命令,請建立命令項目,再將子選單的 NativeMenu 物件指定給該項目的 submenu
屬性。然後,再將該項目加入至父選單。
若要建立分隔符號,請將 label
參數設定為空字串,以及將 isSeparator
設定為 true
。
請使用 NativeMenu 的 addItem()
和 removeItem()
方法,在選單中新增或移除項目。
label:String (default = " ") — 項目的顯示標籤,如果項目為分隔符號則是空字串。
| |
isSeparator:Boolean (default = false ) — 設定為 true 以建立分隔符號,否則請設定為 false 。
|
相關 API 元素
clone | () | 方法 |
public function clone():NativeMenuItem
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0 |
建立 NativeMenuItem 物件的副本。
傳回值NativeMenuItem |
toString | () | 方法 |
displaying | 事件 |
flash.events.Event
屬性 Event.type =
flash.events.Event.DISPLAYING
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0 |
在顯示包含項目的選單之前,由此 NativeMenuItem 物件立即傳送。
preparing
事件會取代 displaying
事件,並可提供其他功能。偵聽 preparing
事件或 displaying
事件,但不可同時偵聽這兩個事件。
Event.DISPLAYING
常數會定義 displaying
事件物件的 type
屬性值。
注意:這個事件不會經歷「捕捉階段」,而且不管目標是否在顯示清單上,都會直接傳送至目標。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 將要顯示的 物件。 |
preparing | 事件 |
flash.events.Event
屬性 Event.type =
flash.events.Event.PREPARING
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 2.6 |
在按下對等按鍵,但尚未顯示所屬的選單之前,會由此 NativeMenuItem 物件傳送。
在顯示所屬的選單之前或是在使用者按下對等按鍵時,偵聽此事件即可更新項目。在完全評估對等按鍵之前,會傳送 preparing
事件。您可以從 preparing
事件處理常式啟用、停用或移除選單中的項目,這些變更將在處理對等按鍵時生效。例如,如果您移除或停用此選單項目,便會取消事件的序列,而且不會傳送 select
事件。選單中的其他項目也會傳送 preparing
事件。
preparing
事件會取代 displaying
事件,並可提供其他功能。偵聽 preparing
事件或 displaying
事件,但不可同時偵聽這兩個事件。
Event.PREPARING
常數會定義 preparing
事件物件的 type
屬性值。
注意:這個事件不會經歷「捕捉階段」,而且不管目標是否在顯示清單上,都會直接傳送至目標。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false |
currentTarget | 傳送此事件的物件。 |
target | 傳送此事件的物件。 |
select | 事件 |
flash.events.Event
屬性 Event.type =
flash.events.Event.SELECT
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0 |
每當使用者選取了選單項目時傳送。
select
事件將從此項目「反昇」至其包含的選單,並從父選單鏈向上到達根選單物件。此事件物件的 target
屬性會參考此 NativeMenuItem 物件,而 currentTarget
屬性則會參考傳送的物件 (此 NativeMenuItem 或祖系 NativeMenu 物件)。
注意:如果包含此選單的視窗處於全螢幕模式 (stage.displayState == StageDisplayState.FULL_SCREEN
),當使用者輸入某個選單項目的鍵盤相對按鍵時,NativeMenuItem 物件便「不會」傳送 select
事件。
Event.SELECT
常數會定義 select
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 已經選取項目的物件。 |
Tue Jun 12 2018, 03:47 PM Z