宜しくお願い致します。
electronの勉強をしています。分からないところがあり教えていただけないでしょうか。
以下の通り基本的なelectronの画面を作成、
終了する処理を入れたコードを作りました。
HTML側は現状Hello worldを表示するだけですが、
window右上の「×」による閉じるを行った際に、
必ず終了するか閉じるをキャンセルするかを入れたいと思っています。
該当箇所以下の通り作成したみたのですが、
app.on("before-quit", () => { ... }
画面を閉じた後にダイアログが表示されるのみで、
画面は閉じてしまい、目的を達することができませんでした。
こういった事をしたい場合は、どういったコードを追加するべきか教えていただけないでしょうか。
以下コード全体と環境を記載致します。
宜しくお願い致します。
【環境】
windows 10 64bit
"electron": "^5.0.1",
"typescript": "^3.4.5",
【コード】
Typescript
1import electron = require("electron"); 2import dialog = electron.dialog; 3import app = electron.app; 4import BrowserWindow = electron.BrowserWindow; 5 6let mainWindow: BrowserWindow | null = null; 7 8app.on("before-quit", () => { 9 const option = { 10 type: "info", 11 buttons: ["キャンセル", "終了する"], 12 defaultId: 0, 13 title: "閉じるボタンを押しました", 14 message: "ファイルは保存しましたか?していなければキャンセルを押して下さい。" 15 } 16 const num: number = dialog.showMessageBox(option); 17 if (num === 1) { 18 app.quit(); 19 } 20}); 21 22app.on("ready", (() => { 23 mainWindow = new BrowserWindow({ 24 width: 1000, 25 height: 700, 26 minWidth: 500, 27 minHeight: 200, 28 acceptFirstMouse: true, 29 }); 30 mainWindow.loadURL("file://" + __dirname + "/index.html"); 31 mainWindow.on("closed", () => { 32 mainWindow = null; 33 }); 34}));
回答2件
あなたの回答
tips
プレビュー