クラス: MenuItem
クラス: MenuItem
ネイティブアプリケーションメニューとコンテキストメニューに項目を追加します。
プロセス: メイン
例については、Menuを参照してください。
new MenuItem(options)
注: acceleratorWorksWhenHidden が macOS のみとして指定されているのは、Windows および Linux では項目が非表示の場合でもアクセラレーターが常に機能するためです。このオプションは、ネイティブ macOS 開発で可能なため、オフにするオプションをユーザーに提供するために公開されています。
ロール
ロールを使用すると、メニュー項目に事前定義された動作を持たせることができます。
click 関数で動作を手動で実装しようとするのではなく、標準ロールに一致するメニュー項目には role を指定するのが最善です。組み込みの role の動作は、最適なネイティブエクスペリエンスを提供します。
role を使用する場合、label および accelerator の値はオプションであり、各プラットフォームに適した値にデフォルト設定されます。
すべてのメニュー項目には、role、label、またはセパレータの場合は type のいずれかが必要です。
role プロパティには、次の値を指定できます
- undo
- about- ネイティブなバージョン情報パネルをトリガーします(Windows ではカスタムメッセージボックス。それ自体は提供しません)。
- redo
- cut
- copy
- paste
- pasteAndMatchStyle
- selectAll
- delete
- minimize- 現在のウィンドウを最小化します。
- close- 現在のウィンドウを閉じます。
- quit- アプリケーションを終了します。
- reload- 現在のウィンドウをリロードします。
- forceReload- キャッシュを無視して、現在のウィンドウをリロードします。
- toggleDevTools- 現在のウィンドウでデベロッパーツールを切り替えます。
- togglefullscreen- 現在のウィンドウで全画面モードを切り替えます。
- resetZoom- フォーカスされたページのズームレベルを元のサイズにリセットします。
- zoomIn- フォーカスされたページを 10% 拡大します。
- zoomOut- フォーカスされたページを 10% 縮小します。
- toggleSpellChecker- ビルトインのスペルチェッカーを有効/無効にします。
- fileMenu- デフォルトの「ファイル」メニュー全体(閉じる/終了)
- editMenu- デフォルトの「編集」メニュー全体(元に戻す、コピーなど)。
- viewMenu- デフォルトの「表示」メニュー全体(再読み込み、デベロッパーツール切り替えなど)
- windowMenu- デフォルトの「ウィンドウ」メニュー全体(最小化、ズームなど)。
次の追加のロールは macOS で使用できます
- appMenu- デフォルトの「アプリケーション」メニュー全体(バージョン情報、サービスなど)
- 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- サブメニューは、「サービス」メニューです。これは、アプリケーションメニューでのみ使用することを目的としており、Electron に実装されていない macOS アプリのコンテキストメニューで使用される「サービス」サブメニューとは異なります。
- recentDocuments- サブメニューは「最近開いた項目」メニューです。
- clearRecentDocuments-- clearRecentDocumentsアクションにマッピングします。
- shareMenu- サブメニューは共有メニューです。共有する項目を示すために、- sharingItemプロパティも設定する必要があります。
macOS で role を指定する場合、label と accelerator のみがメニュー項目に影響するオプションです。他のすべてのオプションは無視されます。小文字の role (例: toggledevtools) は引き続きサポートされています。
注: enabled プロパティと visibility プロパティは、macOS のトレイのトップレベルのメニュー項目では使用できません。
インスタンスプロパティ
MenuItem のインスタンスでは、以下のプロパティが利用可能です。
menuItem.id
アイテムの一意な ID を示す string です。このプロパティは動的に変更できます。
menuItem.label
アイテムの可視ラベルを示す string です。
menuItem.click
MenuItem がクリックイベントを受け取ったときに発火する Function です。menuItem.click(event, focusedWindow, focusedWebContents) で呼び出すことができます。
- eventKeyboardEvent
- focusedWindowBaseWindow
- focusedWebContentsWebContents
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 読み取り専用 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
role が shareMenu の場合に共有するアイテムを示す SharingItem です。
このプロパティは動的に変更できます。
menuItem.commandId
アイテムの連番の一意な ID を示す number です。
menuItem.menu
アイテムが属する Menu です。