[[oktatas:szoftverfejlesztes:asztali:electron:angular-electron|< Angular-Electron]] ====== Angular-Electron - Menü ====== * **Szerző:** Sallai András * Copyright (c) 2024, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Bevezetés ===== Szabályozhatjuk az alkalmazásunknak legyen menüsávja, vagy ne legyen. Készíthetünk saját menüsávot is. Ebben a leírásban nem szerepel az index.html és a hozzátartozó fájlok létrehozása. Csak a belépési ponttal foglalkozunk. ===== A beépített menü ===== Az autoHideMenuBar: true beállítással elrejthetjük az alapértelmezett menüt. const { app, BrowserWindow } = require('electron') const createWindow = () => { const win = new BrowserWindow({ width: 350, height: 260, autoHideMenuBar: true }) win.loadFile('index.html') } app.whenReady().then(() => { createWindow() }) ===== Saját menü készítése ===== const { app, BrowserWindow, Menu } = require('electron'); function createWindow() { const win = new BrowserWindow({ width: 800, height: 600, icon: 'public/icon.png', }); win.loadFile('dist/electron-app/browser/index.html'); } app.whenReady().then(() => { createWindow() }) const appMenu = [ { label: 'Fájl', submenu: [ { label: 'Kilép', role: 'quit', accelerator: 'CmdOrCtrl+K' } ] }, { label: 'Súgó', submenu: [ { label: 'Névjegy', role: 'about', accelerator: 'CmdOrCtrl+N' } ] } ] app.setAboutPanelOptions({ applicationName: 'Angular Electron App', applicationVersion: '1.0.0', copyright: 'Copyright (c) 2022, Nagy János', authors: ['Nagy János'], website: 'https://szit.hu', iconPath: 'public/icon.png' }) app.on('ready', () => { const menu = Menu.buildFromTemplate(appMenu) Menu.setApplicationMenu(menu) }) ===== Névjegy másként ===== Telepítés: npm install about-window const { default: openAboutWindow } = require('about-window'); const { app, BrowserWindow, Menu } = require('electron'); function createWindow() { const win = new BrowserWindow({ width: 800, height: 600, icon: 'public/icon.png', }); win.loadFile('dist/electron-app/browser/index.html'); } app.whenReady().then(() => { createWindow() }) const appMenu = [ { label: 'Fájl', submenu: [ { label: 'Kilép', role: 'quit', accelerator: 'CmdOrCtrl+K' } ] }, { label: 'Súgó', submenu: [ { label: 'Névjegy', click: () => { openAboutWindow({ icon_path: `${process.cwd()}/public/icon.png`, product_name: 'Valami', copyright: 'Copyright (c) 2024, Nagy János', homepage: 'https://szit.hu', description: 'Minta alkalmazás' }) }, accelerator: 'CmdOrCtrl+N' } ] } ] app.on('ready', () => { const menu = Menu.buildFromTemplate(appMenu) Menu.setApplicationMenu(menu) }) ===== Linkek ===== * https://www.electronjs.org/docs/latest/api/app#appsetaboutpaneloptionsoptions (2024) * https://www.npmjs.com/package/electron-about-window (2024)