パッケージ | flash.display |
クラス | public class NativeMenu |
継承 | NativeMenu EventDispatcher Object |
サブクラス | ContextMenu |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムでサポートされますが、モバイルデバイスまたは AIR for TV デバイスではサポートされません。NativeMenu.isSupported
プロパティを使用して、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。
ネイティブメニューとは、アプリケーションではなくオペレーティングシステムによって制御および描画されるメニューのことです。AIR では、次の種類のネイティブメニューをサポートしています。
- 「アプリケーションメニュー」は OS X でサポートされています。ホストオペレーティングシステムでアプリケーションメニューがサポートされているかどうかを検証するには、
NativeApplication.supportsMenu
プロパティを使用します。アプリケーションメニューは、Mac デスクトップの画面上部にあるメニューバーに表示されます。OS X では、すべてのアプリケーションに対してデフォルトのメニューが用意されていますが、メニューコマンドの多くは機能しません。デフォルトのアイテムにイベントリスナーを追加したり、個々のメニューおよびアイテムを置き換えたり、デフォルトメニュー全体を置き換えたりすることもできます。NativeApplication のmenu
プロパティを使用して、アプリケーションメニューオブジェクトにアクセスします。 - 「ウィンドウメニュー」は Windows および Linux でサポートされています。ホストオペレーティングシステムでウィンドウメニューがサポートされているかどうかを検証するには、
NativeWindow.supportsMenu
プロパティを使用します。ウィンドウメニューはウィンドウのタイトルバーの下に表示されます。メニューの占有領域は、ウィンドウステージには含まれません。アプリケーションはこの領域に描画できません。NativeWindow のmenu
プロパティを使用して、ウィンドウにメニューを割り当てます。 - 「ドックアイコンメニュー」は OS X でサポートされています。ホストオペレーティングシステムでドックアイコンがサポートされているかどうかを検証するには、
NativeApplication.supportsDockIcon
プロパティを使用します。ドックアイコンメニューのアイテムは、オペレーティングシステムによって提供されるデフォルトのアイテムの上に表示されます。アプリケーションコードからデフォルトのアイテムへはアクセスできません。アプリケーションの DockIcon オブジェクトのmenu
プロパティにメニューを割り当てます。 - 「システムトレイアイコンメニュー」は Windows およびほとんどの Linux オペレーティングシステムでサポートされています。ホストオペレーティングシステムでシステムトレイアイコンがサポートされているかどうかを検証するには、
NativeApplication.supportsSystemTrayIcon
プロパティを使用します。システムトレイアイコンメニューは、コンテキストメニューとほとんど同じように、アイコンを右クリックすると表示されます。アプリケーションの SystemTrayIcon オブジェクトのmenu
プロパティにメニューを割り当てます。 - 「コンテキストメニュー」はすべてのオペレーティングシステムでサポートされています。コンテキストメニューは、ユーザーインターフェイスイベント(アプリケーションに表示された InteractiveObject 上での右クリックやコマンドクリックなどの操作)に応答して表示されます。メニューを表示する UI メカニズムは、ホストオペレーティングシステムやハードウェアによって異なります。InteractiveObject の
contextMenu
プロパティにメニューを割り当てます。AIR では、NativeMenu クラスまたは ContextMenu クラスのいずれかを使用して、コンテキストメニューを作成できます。Flash Player で使用できるのは、ContextMenu クラスのみです。AIR の ContextMenu には、ビルトインのアイテムがないため、デフォルトのコンテキストメニューは表示されません。 - 「ポップアップメニュー」はすべてのオペレーティングシステムでサポートされています。ポップアップメニューは、機能的にはコンテキストメニューと同じですが、ユーザーインターフェイスイベントへの応答としてではなく、メニューの
display()
メソッドを使用して表示します。ポップアップメニューは、他のオブジェクトにはアタッチされません。ネイティブメニューを作成して、display()
メソッドを呼び出します。
メニューオブジェクトにはメニューアイテムが含まれます。メニューアイテムは、コマンド、サブメニューまたはセパレーター線を表すことができます。addItem()
メソッドまたは addItemAt()
メソッドを使用して、メニューにメニューアイテムを追加します。メニューアイテムの表示順序は、メニューの items
配列でのアイテムの順序と一致します。
サブメニューを作成するには、親メニューオブジェクトにメニューアイテムを追加します。サブメニューを表すメニューオブジェクトを、親メニュー内の対応するメニューアイテムの submenu
プロパティに割り当てます。
注意:ウィンドウのルートメニューおよびアプリケーションメニューには、サブメニューアイテムのみを含める必要があります。サブメニュー以外のアイテムは表示できず、このようなタイプのメニューは期待どおりに動作しません。
メニューのコマンドアイテム、またはそのサブメニューが選択されると、メニューは select
イベントを送出します(サブメニューアイテムおよびセパレーターアイテムは選択できません)。イベントオブジェクトの target
プロパティは、選択されたアイテムを参照します。
メニューは、メニューの表示の直前、およびメニュー内のアイテムに割り当てられているショットカットキーのいずれかが押された際に preparing
イベントを送出します。このイベントを使用することで、現在のアプリケーションの状態に基づき、メニューの内容を更新することができます。
注意:Flex Framework を使用している場合は、FlexNativeMenu クラスの使用を検討してください。通常、MXML で宣言的にメニューを定義する方が、ActionScript コードを記述してアイテム別にメニュー構造を作成するよりも簡単です。
関連する API エレメント
flash.display.NativeMenuItem
flash.display.NativeWindow.menu
flash.desktop.DockIcon
flash.desktop.SystemTrayIcon
flash.desktop.NativeApplication.menu
flash.desktop.NativeApplication.icon
mx.controls.FlexNativeMenu
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
isSupported : Boolean [静的] [読み取り専用]
クライアントシステムでネイティブメニューの任意のフォームがサポートされているかどうかを示します。 | NativeMenu | ||
items : Array
このメニューの NativeMenuItem の配列です。 | NativeMenu | ||
numItems : int [読み取り専用]
このメニューの NativeMenuItem オブジェクトの数です。 | NativeMenu | ||
parent : NativeMenu [読み取り専用]
親メニューです。 | NativeMenu |
メソッド | 定義元 | ||
---|---|---|---|
新しい NativeMenu オブジェクトを作成します。 | NativeMenu | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | ||
メニューの下部に、メニューアイテムを追加します。 | NativeMenu | ||
指定された位置に、メニューアイテムを挿入します。 | NativeMenu | ||
新しいメニューアイテムを挿入して、メニューにサブメニューを追加します。 | NativeMenu | ||
指定された位置に新しいメニューアイテムを挿入して、メニューにサブメニューを追加します。 | NativeMenu | ||
メニューおよびすべてのアイテムのコピーを作成します。 | NativeMenu | ||
このメニューが、指定されたメニューアイテムを含むかどうかを報告します。 | NativeMenu | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
このメニューを、指定された位置にポップアップ表示します。 | NativeMenu | ||
指定されたインデックス位置にあるメニューアイテムを取得します。 | NativeMenu | ||
指定された名前を持つメニューアイテムを取得します。 | NativeMenu | ||
指定されたアイテムの位置を取得します。 | NativeMenu | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
メニューからすべてのアイテムを削除します。 | NativeMenu | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
指定されたメニューアイテムを削除します。 | NativeMenu | ||
指定されたインデックス位置にあるメニューアイテムを削除して返します。 | NativeMenu | ||
指定された位置に、メニューアイテムを移動します。 | NativeMenu | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
イベント | 概要 | 定義元 | ||
---|---|---|---|---|
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | |||
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | |||
メニューが表示される直前に、この NativeMenu オブジェクトから送出されます。 | NativeMenu | |||
ショートカットキーが押され、メニューが表示される直前に、NativeMenu オブジェクトから送出されます。 | NativeMenu | |||
いずれかのメニューアイテム、またはその子孫のサブメニューのいずれかのアイテムが選択された場合に、この NativeMenu オブジェクトから送出されます。 | NativeMenu |
isSupported | プロパティ |
items | プロパティ |
numItems | プロパティ |
parent | プロパティ |
parent:NativeMenu
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
親メニューです。
ルート(最上位)メニューオブジェクトの parent
は、null
になります。
実装
public function get parent():NativeMenu
NativeMenu | () | コンストラクター |
public function NativeMenu()
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
新しい NativeMenu オブジェクトを作成します。
addItem | () | メソッド |
public function addItem(item:NativeMenuItem):NativeMenuItem
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
メニューの下部に、メニューアイテムを追加します。
コンテキストメニューを作成する場合は、NativeMenuItem または ContextMenuItem オブジェクトのいずれかを追加できます。ただし、メニュー内のすべてのアイテムが同じプロパティを持つようにするため、コンテキストメニューでは 1 つの型のオブジェクトのみを使用することをお勧めします。
注意:アイテムのサブメニューがメニュー自体に設定されている場合、アイテムをメニューに追加すると、アプリケーションが異常停止することがあります(循環参照が発生)。
パラメーター
item:NativeMenuItem — メニューの下部に追加する NativeMenuItem オブジェクトです。
|
NativeMenuItem |
例外
ArgumentError — item が null の場合。
| |
ArgumentError — item が別のメニューのメンバーである場合。
|
addItemAt | () | メソッド |
public function addItemAt(item:NativeMenuItem, index:int):NativeMenuItem
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定された位置に、メニューアイテムを挿入します。位置のインデックスは上方から割り当てられます。メニューの最上位にアイテムを挿入するには、index
パラメーターをゼロに設定します。ウィンドウ、アプリケーション、システムトレイアイコン、ドックアイコン、コンテキスト、ポップアップなど、すべてのタイプのメニューで、インデックスは上方から割り当てられます。
パラメーター
item:NativeMenuItem — 挿入する NativeMenuItem オブジェクトです。
| |
index:int — メニューアイテムを挿入する、0 から始まるメニューの位置です。
注意:アイテムのサブメニューがメニュー自体に設定されている場合、アイテムをメニューに追加すると、アプリケーションが異常停止することがあります(循環参照が発生)。 |
NativeMenuItem |
例外
ArgumentError — item が null の場合。
| |
ArgumentError — item が別のメニューのメンバーである場合。
| |
RangeError — インデックスが、メニューの items 配列の範囲外の場合。
|
addSubmenu | () | メソッド |
public function addSubmenu(submenu:NativeMenu, label:String):NativeMenuItem
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
新しいメニューアイテムを挿入して、メニューにサブメニューを追加します。
addSubMenu()
メソッドを呼び出すと、新しいメニューアイテムを作成するのと同様の処理が実行されます。メニューアイテムをメニューに追加し、アイテムの submenu
プロパティに NativeMenu オブジェクトを割り当てます。
注意:メニューをそのメニューのサブメニューとして追加すると(循環参照)、アプリケーションが異常停止することがあります。
パラメーター
submenu:NativeMenu — 追加するサブメニューを定義する NativeMenu オブジェクトです。
| |
label:String — 追加するメニューアイテムの表示ラベルです。
|
NativeMenuItem — サブメニューとして作成された NativeMenuItem オブジェクトです。
|
addSubmenuAt | () | メソッド |
public function addSubmenuAt(submenu:NativeMenu, index:int, label:String):NativeMenuItem
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定された位置に新しいメニューアイテムを挿入して、メニューにサブメニューを追加します。
addSubMenuAt()
メソッドを呼び出すと、新しいメニューアイテムを作成するのと同様の処理が実行されます。メニューの指定された位置にメニューアイテムを挿入し、アイテムの submenu
プロパティに NativeMenu オブジェクトを割り当てます。
注意:メニューをそのメニューのサブメニューとして追加すると(循環参照)、アプリケーションが異常停止することがあります。
パラメーター
submenu:NativeMenu — 追加するサブメニューを定義する NativeMenu オブジェクトです。
| |
index:int — 追加するメニューアイテムを挿入する、このメニューの items 配列の位置です。
| |
label:String — 追加するメニューアイテムの表示ラベルです。
|
NativeMenuItem — サブメニューとして作成された NativeMenuItem オブジェクトです。
|
clone | () | メソッド |
public function clone():NativeMenu
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
メニューおよびすべてのアイテムのコピーを作成します。
戻り値NativeMenu |
containsItem | () | メソッド |
public function containsItem(item:NativeMenuItem):Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
このメニューが、指定されたメニューアイテムを含むかどうかを報告します。
パラメーター
item:NativeMenuItem — 検索対象の NativeMenuItem オブジェクトです。
|
Boolean — true (item がこのメニューに存在する場合)。
|
display | () | メソッド |
public function display(stage:Stage, stageX:Number, stageY:Number):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
このメニューを、指定された位置にポップアップ表示します。
パラメーター
stage:Stage — このメニューが表示される Stage オブジェクトです。
| |
stageX:Number — このメニューを表示するステージの起点を基準とした、水平方向のピクセル数です。
| |
stageY:Number — このメニューが表示されるステージの起点を基準にした垂直方向のピクセル数です。
|
getItemAt | () | メソッド |
public function getItemAt(index:int):NativeMenuItem
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定されたインデックス位置にあるメニューアイテムを取得します。
パラメーター
index:int — 0 から始まる、返すアイテムの位置です。
|
NativeMenuItem — メニューの指定された位置にある NativeMenuItem オブジェクトです。
|
例外
RangeError — index が、メニューの items 配列の範囲外の場合。
|
getItemByName | () | メソッド |
public function getItemByName(name:String):NativeMenuItem
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定された名前を持つメニューアイテムを取得します。
注意:メニューアイテムの name
プロパティは、デフォルトでは割り当てられていません。
パラメーター
name:String — 検索対象のストリングです。
|
NativeMenuItem — 指定された名前を持つ NativeMenuItem オブジェクト、または null (メニューにそのようなアイテムがない場合)です。
|
getItemIndex | () | メソッド |
public function getItemIndex(item:NativeMenuItem):int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定されたアイテムの位置を取得します。
パラメーター
item:NativeMenuItem — 検索対象の NativeMenuItem オブジェクトです。
|
int — 指定されたアイテムの 0 から始まるこのメニューでの位置、または -1 (アイテムがこのメニューに存在しない場合)です。
|
removeAllItems | () | メソッド |
public function removeAllItems():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
メニューからすべてのアイテムを削除します。
removeItem | () | メソッド |
public function removeItem(item:NativeMenuItem):NativeMenuItem
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定されたメニューアイテムを削除します。
パラメーター
item:NativeMenuItem — このメニューから削除する NativeMenuItem オブジェクトです。
|
NativeMenuItem |
例外
RangeError — item がこのメニューに存在しない場合。
|
removeItemAt | () | メソッド |
public function removeItemAt(index:int):NativeMenuItem
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定されたインデックス位置にあるメニューアイテムを削除して返します。
パラメーター
index:int — 0 から始まる、削除するアイテムの位置です。
|
NativeMenuItem — 削除された NativeMenuItem オブジェクトです。
|
例外
RangeError — index が、このメニューの items 配列の範囲外の場合。
|
setItemIndex | () | メソッド |
public function setItemIndex(item:NativeMenuItem, index:int):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定された位置に、メニューアイテムを移動します。該当するアイテムがまだメニュー内にない場合、このメソッドを呼び出すとメニューにアイテムが追加されます。
パラメーター
item:NativeMenuItem — 移動する NativeMenuItem オブジェクトです。
| |
index:int — item の移動先となる、0 から始まるメニューの位置です。
|
例外
RangeError — index が、メニューの items 配列の範囲外の場合。
|
displaying | イベント |
flash.events.Event
プロパティ Event.type =
flash.events.Event.DISPLAYING
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
メニューが表示される直前に、この NativeMenu オブジェクトから送出されます。
このイベントを受け取り、メニューが表示される前に更新します。displaying
イベントは、メニュー内の他のアイテムからも送出されます。
preparing
イベントは displaying
イベントを置き換え、追加機能を提供します。preparing
イベントと displaying
のいずれかをリッスンしますが、双方をリッスンすることはできません。
注意:AIR 2.6 より前の Mac OS X では、ユーザーがショットカットキーを押すとメニューおよびメニューアイテムによって displaying
イベントが送出されます(このイベントは、他のオペレーティングシステム上では、ショートカットキーのインタラクションによって送出されることはありませんでした)。AIR 2.6 では、ユーザーがショットカットキーを押しても、displaying
イベントは送出されません。代わりに、preparing
イベントを使用します。
Event.DISPLAYING
定数は、type
プロパティ(displaying
イベントオブジェクト)の値を定義します。
注意:このイベントは "キャプチャ段階" を経由せず、ターゲットが表示リストにあるかどうかにかかわらず、ターゲットに直接送出されます。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 表示されるオブジェクトです。 |
preparing | イベント |
flash.events.Event
プロパティ Event.type =
flash.events.Event.PREPARING
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2.6 |
ショートカットキーが押され、メニューが表示される直前に、NativeMenu オブジェクトから送出されます。
メニューが表示される前、またはショートカットキーが押された際に、メニューを更新するためにこのイベントをリッスンします。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 |
いずれかのメニューアイテム、またはその子孫のサブメニューのいずれかのアイテムが選択された場合に、この NativeMenu オブジェクトから送出されます。
select
イベントは、メニューアイテムからそれに含まれているメニューまで、親メニューのチェーンをルートメニューオブジェクトに向かって上方にバブルします。イベントオブジェクトの target
プロパティは、選択されている NativeMenuItem オブジェクトを参照します。この NativeMenu オブジェクトは、currentTarget
プロパティが参照します。
Event.SELECT
定数は、type
プロパティ(select
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | アイテムが選択されたオブジェクトです。 |
Tue Jun 12 2018, 10:34 AM Z