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 プロパティは、以下の値を持つことができます。
undoabout- ネイティブのこの App についてのパネル (専用のパネルを提供しない、Window 上のカスタムメッセージボックス) をトリガーします。redocutcopypastepasteAndMatchStyleselectAlldeleteminimize- 現在のウィンドウを最小化する。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) で呼び出されます。
eventKeyboardEventfocusedWindowBaseWindowfocusedWebContentsWebContents
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。