반응형
동영상 강좌
일렉트론의 메뉴는 다음 API 문서를 참조하시면 됩니다.
https://www.electronjs.org/docs/latest/api/menu
소스는 지난시간에 만든 react-electron을 계속 사용합니다.
- src/main.js
가장 먼저 menu를 사용하기 위해서 electron의 menu를 선언 합니다.
const { app, BrowserWindow, Menu } = require('electron');
다음과 같이 template을 이용하여 menu를 setting 합니다.
- createWindow function 다음에 아래 코드를 작성합니다.
const template = [];
const menu = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(menu);
- 현재는 template에 값이 없기 때문에 메뉴가 나타나지 않는 것을 볼 수 있습니다.
- template에 다음과 같이 메뉴를 추가합니다.
const template = [
{
label: "File",
}
]
- submenu는 다음과 같이 추가합니다.
{
label: "File",
submenu: [
{
label: "Open"
}
]
}
Role 메뉴
- 일렉트론 menu에서는 일반적인 메뉴를 role 메뉴로 만들어 제공합니다.
- role 메뉴는 다음 url을 참조하시면 자세히 볼 수 있습니다.
- 개발자 화면을 toggle 하는 'toggleDevTools' role을 다음과 같이 추가합니다.
{
role: 'toggleDevTools',
}
메뉴 클릭시 이벤트 처리하기
- 다음과 같이 Open 메뉴를 클릭했을때 console 로그를 출력하는 이벤트를 추가합니다.
{
label: "Open" ,
click: function(){
console.log('Clicked Menu Open!!!');
}
},
Type 메뉴
- 일렉트론에서는 여러가지 type의 메뉴를 제공합니다.
- 그 중 가장 많이 사용하는 separator를 추가해 봅니다.
{ type: 'separator' },
- 'checkbox' type을 추가합니다.
{ label: 'Menu Item 2', type: 'checkbox', checked: true },
외부 사이트 열기
- 메뉴를 클릭했을 때 기본브라우저로 외부 URL을 호출하는 예제입니다.
- 우선 electron의 shell을 선언 합니다.
const { app, BrowserWindow, Menu, shell } = require('electron')
- shell.openExternal을 사용해 사이트를 호출합니다.
click: function(){
shell.openExternal("https://www.electronjs.org/docs/api")
}
이상으로 일렉트론의 메뉴 사용법을 알아보았습니다.
보다 자세한 사항들은 API 문서를 참조하시기 바랍니다.
반응형
'일렉트론' 카테고리의 다른 글
일렉트론기초-10.일렉트론 사이드 메뉴 만들기 (0) | 2021.10.09 |
---|---|
일렉트론기초-09.일렉트론 커스텀 타이틀바 만들기-프로그램개발(IPC) (0) | 2021.10.04 |
일렉트론기초-08.일렉트론 커스텀 타이틀바 만들기-화면디자인 (0) | 2021.10.04 |
일렉트론기초-07.일렉트론 화면 개발하기 (0) | 2021.10.03 |
일렉트론기초-05.React 프로젝트에 일렉트론을 추가하는 법 (0) | 2021.09.29 |
일렉트론기초-04.일렉트론 프로젝트 쉽게 만들고 쉽게 실행하기 (0) | 2021.09.28 |
일렉트론기초-03.일렉트론 프로젝트에 React 추가하기 (0) | 2021.09.22 |
일렉트론기초-02.일렉트론 퀵스타트 (0) | 2021.09.20 |