Aller au contenu principal

Menu

Classe : Menu

Crée des menus d'applications natifs et des menus contextuels.

Process: Main

[!TIP] See also: A detailed guide about how to implement menus in your application.

[!WARNING] Electron's built-in classes cannot be subclassed in user code. For more information, see the FAQ.

new Menu()

Crée un nouveau menu.

Méthodes statiques

La classe Menu dispose des méthodes statiques suivantes :

  • menu Menu | null

Définit menu comme menu d'application sur macOS. Sous Windows et Linux, menu sera défini comme menu principal de chaque fenêtre.

Sous Windows et Linux, vous pouvez également utiliser un & dans le nom de l'élément de niveau supérieur pour indiquer quelle lettre fournira un raccourci . Par exemple, l’utilisation de &File pour le menu Fichier entraînera la génération d’un raccourci Alt-F ouvrant le menu associé. Le caractère indiqué dans le label du bouton est alors souligné et le caractère & n’est pas affiché dans le bouton.

Afin d'échapper le caractère & dans un nom d'item, ajoutez lui d'abord &. Par exemple, &&File afficherait &File dans le bouton.

Le passage de null comme paramètre supprimera le menu par défaut. Sous Windows et Linux, cela a pour effet supplémentaire de supprimer la barre de menu de la fenêtre.

[!NOTE] The default menu will be created automatically if the app does not set one. It contains standard items such as File, Edit, View, Window and Help.

Retourne Menu | null - Le menu de l’application si défini, ou null, si non défini.

[!NOTE] The returned Menu instance doesn't support dynamic addition or removal of menu items. Instance properties can still be dynamically modified.

  • action string

Envoie action au premier répondant de l'application. Ceci est utilisé pour émuler les comportements du menu de macOS par défaut. Usually you would use the role property of a MenuItem.

See the macOS Cocoa Event Handling Guide for more information on macOS' native actions.

  • template (MenuItemConstructorOptions | MenuItem)[]

Returns Menu

Generally, the template is an array of options for constructing a MenuItem. L'utilisation peut être référencée ci-dessus.

Vous pouvez également attacher d'autres champs à l'élément du template et ils deviendront des propriétés des éléments de menu construits.

Méthodes d’instance

L'objet menu a les méthodes d'instance suivantes:

  • options Object (facultatif)
    • window BaseWindow (optional) - Default is the focused window.
    • frame WebFrameMain (optional) - Provide the relevant frame if you want certain OS-level features such as Writing Tools on macOS to function correctly. Typically, this should be params.frame from the context-menu event on a WebContents, or the focusedFrame property of a WebContents.
    • x number (facultatif) - C'est par défaut la position actuelle du curseur de la souris. Doit être déclaré si y est déclaré.
    • x number (facultatif) - C'est par défaut la position actuelle du curseur de la souris. Doit être déclaré si x est déclaré.
    • positioningItem number (facultatif) macOS - L'index de l'élément de menu à positionner sous le curseur de la souris aux coordonnées spécifiées. est. La valeur par défaut est -1.
    • sourceType string (facultatif) Windows Linux - Ceci doit correspondre au menuSourceType fournie par l'événement context-menu. Il n'est pas recommandé de définir cette valeur manuellement, fournissez seulement les valeurs que vous recevez d'autres APIs ou laissez à undefined. Peut être une de ces valeurs none, mouse, keyboard, touch, touchMenu, longPress, longTap, touchHandle, stylus, adjustSelection, adjustSelectionReset.
    • callback Fonction (facultatif) - Appelée lorsque le menu est fermé.

Fait apparaitre ce menu sous la forme d'un menu contextuel dans la BaseWindow.

[!TIP] For more details, see the Context Menu guide.

  • window BaseWindow (optional) - Default is the focused window.

Ferme le menu contextuel dans la window.

Ajoute le menuItem au menu.

  • id string

Retourne MenuItem | null l'élément avec le id spécifié

Insère le menuItem à la position pos du menu.

Événements d’instance

Les objets créés avec new Menu ou retournés par Menu.buildFromTemplate émettent les événements suivants :

[!NOTE] Some events are only available on specific operating systems and are labeled as such.

Événement : 'menu-will-show'

Retourne :

  • event Event

Émis lorsque menu.popup() est appelé.

Événement : 'menu-will-close'

Retourne :

  • event Event

Émis lorsqu'un popup est fermé manuellement ou avec menu.closePopup().

Propriétés d'instance

Les objets menu dispossent également des propriétés suivantes :

Un tableau MenuItem[] contenant les éléments du menu.

Each Menu consists of multiple MenuItem instances and each MenuItem can nest a Menu into its submenu property.