Class: MenuItem
Class: MenuItem
ネイティブアプリケーションメニューとコンテキストメニューに項目を追加します。
Process: Main
See Menu
for examples.
new MenuItem(options)
注釈: Windows と Linux でアイテムが非表示になっている場合のアクセラレータは常に機能するため、acceleratorWorksWhenHidden
は macOS 専用として指定されています。 これはネイティブの macOS 開発では可能なので、オプションを無効にするオプションをユーザーに提供するためにユーザーに公開されます。
役割 (roles)
Roles を使用すると、メニューアイテムに定義済みの動作を持たせることができます。
click
関数で手動で動作を実装しようとするのではなく、標準の role に一致するメニューアイテムに対して role
を指定することが最善です。 組み込み role
の動作は最適なネイティブの操作感を得られます。
role
を使用する場合、label
と accelerator
の値は任意で、各プラットフォームに最適な値がデフォルトになっています。
すべてのメニューアイテムは、role
、label
、セパレータの場合は type
のいずれかを保持する必要があります。
role
プロパティは、以下の値を持つことができます。
undo
about
- ネイティブのこの App についてのパネル (専用のパネルを提供しない、Window 上のカスタムメッセージボックス) をトリガーします。redo
cut
copy
paste
pasteAndMatchStyle
selectAll
delete
minimize
- 現在のウィンドウを最小化する。close
- 現在のウィンドウを閉じる。quit
- アプリケーションを終了する。reload
- 現在のウィンドウをリロードする。forceReload
- キャッシュを無視して現在のウィンドウをリロードする。toggleDevTools
- 現在のウィンドウの開発者向けツールのトグル切り替えをする。togglefullscreen
- 現在のウインドウの全画面モードのトグル切り替え.resetZoom
- フォーカス中のページのズームレベルを元のサイズにリセットする。zoomIn
- フォーカス中のページを 10% 拡大する。zoomOut
- フォーカス中のページを 10% 縮小する。toggleSpellChecker
- 組み込みスペルチェッカーを有効/無効にします。fileMenu
- デフォルト"ファイル" メニュー全体 (Close / Quit)editMenu
- デフォルトの"編集"メニュー全体 (元に戻す、コピー、等)。viewMenu
- デフォルトの"表示"メニュー全体 (リロード、開発ツールON/OFF等)windowMenu
- デフォルトの"ウインドウ"メニュー全体 (最小化、ズーム等)。
以下は macOS で有効な追加の role です。
appMenu
- デフォルトの"App"メニュー全体 (Electronについて、サービス等)hide
-hide
アクションに割り当てる。hideOthers
-hideOtherApplications
アクションに割り当てる。unhide
-unhideAllApplications
アクションに割り当てる。showSubstitutions
-orderFrontSubstitutionsPanel
アクションに割り当てる。toggleSmartQuotes
-toggleAutomaticQuoteSubstitution
アクションに割り当てる。toggleSmartDashes
-toggleAutomaticDashSubstitution
アクションに割り当てる。toggleTextReplacement
-toggleAutomaticTextReplacement
アクションに割り当てる。startSpeaking
-startSpeaking
アクションに割り当てる。stopSpeaking
-stopSpeaking
アクションに割り当てる。front
-arrangeInFront
アクションに割り当てる。zoom
-performZoom
アクションに割り当てる。toggleTabBar
-toggleTabBar
アクションに割り当てる。selectNextTab
-selectNextTab
アクションに割り当てる。selectPreviousTab
-selectPreviousTab
アクションに割り当てる。showAllTabs
-showAllTabs
アクションに割り当てる。mergeAllWindows
-mergeAllWindows
アクションに割り当てる。moveTabToNewWindow
-moveTabToNewWindow
アクションに割り当てる。window
- "ウインドウ"サブメニュー。help
- "ヘルプ"サブメニュー。services
- "サービス" メニューのサブメニュー。 これはこのアプリケーションのメニューにのみ使うことを意図しており、macOS アプリのコンテキストメニューで使用される "サービス" サブメニューと同じでは ありません。そのような "サービス" サブメニューは Electron では実装されていません。recentDocuments
- "最近使った項目を開く"サブメニュー。clearRecentDocuments
-clearRecentDocuments
アクションに割り当てる。shareMenu
- このサブメニューは 共有メニュー です。sharingItem
プロパティは、共有アイテムを示すためにも設定する必要があります。
macOS の role
を指定するとき、label
と accelerator
がメニューアイテムに影響を与える唯一のオプションです。 ほかのすべてのオプションは無視されます。 小文字の role
、toggledevtools
などもまだサポートしています。
注意: macOS 上の tray 内の最上層にあるメニューアイテムでは、enabled
と visibility
プロパティは利用できません。
インスタンスプロパティ
MenuItem
のインスタンスには以下のプロパティがあります。
menuItem.id
アイテムの一意な id を示す string
。このプロパティは動的に変更できます。
menuItem.label
そのアイテムに表示されるラベルを示す string
。
menuItem.click
MenuItem がクリックイベントを受け取った時に発火される Function
。 これは menuItem.click(event, focusedWindow, focusedWebContents)
で呼び出されます。
event
KeyboardEventfocusedWindow
BaseWindowfocusedWebContents
WebContents
menuItem.submenu
存在する場合、メニューアイテムのサブメニューを格納する Menu
(任意)。
menuItem.type
そのアイテムの種類を示す string
。 normal
、 separator
、 submenu
、 checkbox
、 radio
のいずれか。
menuItem.role
セットされている場合、アイテムの役割を示す string
(任意)。 undo
, redo
, cut
, copy
, paste
, pasteAndMatchStyle
, delete
, selectAll
, reload
, forceReload
, toggleDevTools
, resetZoom
, zoomIn
, zoomOut
, toggleSpellChecker
, togglefullscreen
, window
, minimize
, close
, help
, about
, services
, hide
, hideOthers
, unhide
, quit
, startSpeaking
, stopSpeaking
, zoom
, front
, appMenu
, fileMenu
, editMenu
, viewMenu
, shareMenu
, recentDocuments
, toggleTabBar
, selectNextTab
, selectPreviousTab
, showAllTabs
, mergeAllWindows
, clearRecentDocuments
, moveTabToNewWindow
, windowMenu
のいずれかにできます。
menuItem.accelerator
Accelerator
(任意) 型で、セットされているならばそのアイテムのアクセラレータになります。
menuItem.userAccelerator
Readonly macOS
Accelerator | null
型で、メニューアイテムの ユーザーが割り当てたアクセラレータ を表します。
注意: このプロパティは MenuItem
が Menu
に追加された後にのみ初期化されます。 Menu.buildFromTemplate
または Menu.append()/insert()
を介してください。 初期化前にアクセスすると null
を返します。
menuItem.icon
セットされている場合、アイテムのアイコンを示す NativeImage | string
(任意)。
menuItem.sublabel
そのアイテムのサブラベルを示す string
。
menuItem.toolTip
macOS
そのアイテムに浮かび上がるテキストを示す string
。
menuItem.enabled
アイテムが有効かどうかを示す boolean
。このプロパティは動的に変更できます。
menuItem.visible
アイテムが見えるかどうかを示す boolean
。このプロパティは動的に変更できます。
menuItem.checked
アイテムがチェックされたかどうかを示す boolean
。このプロパティは動的に変更できます。
checkbox
メニューアイテムは、選択された時に checked
プロパティをオンかオフにトグル切り替えします。
radio
メニューアイテムは、クリックされると checked
がオンになり、同じメニュー内の隣接するアイテムすべてのこのプロパティをオフにします。
更なる動作は、click
関数の追加で可能です。
menuItem.registerAccelerator
boolean
型で、アクセラレータをシステムに登録する必要があるのか、ただ表示するだけなのかを示します。
このプロパティは動的に変更できます。
menuItem.sharingItem
macOS
SharingItem
型で、role
が shareMenu
の場合に共有するアイテムを示します。
このプロパティは動的に変更できます。
menuItem.commandId
アイテムの一意な連番 id を示す number
。
menuItem.menu
そのアイテムが属する Menu
。