クラス: 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)
で呼び出すことができます。
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
読み取り専用 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
です。