鍍金池/ 問(wèn)答/HTML5  HTML/ Electron如何隱藏窗口邊框而顯示控制按鈕?

Electron如何隱藏窗口邊框而顯示控制按鈕?

Electron的文檔中寫到,可以通過(guò)指定BrowserWindow的frame為false來(lái)創(chuàng)建沒(méi)有邊框的窗口。
那么,這種邊框顏色(背景)與系統(tǒng)不同,卻使用系統(tǒng)控制按鈕的邊框如何實(shí)現(xiàn)?
圖片描述

圖片描述

(圖中的軟件分別為GitHub Desktop和Moeditor)

回答
編輯回答
安淺陌

如下代碼所示:frame: false 參數(shù)用來(lái)設(shè)置無(wú)邊框;
const {BrowserWindow} = require('electron')
let win = new BrowserWindow({width: 800, height: 600, frame: false})
win.show()
1
2
3
以下代碼用于在Html元素中設(shè)置可拖動(dòng)區(qū)域;
其中,style=”-webkit-app-region: drag;” 用于設(shè)定該部分為可拖動(dòng)區(qū)域;
而, style=”-webkit-app-region: no-drag;” 用于設(shè)定該部分為不可拖動(dòng)區(qū)域;
這兩種樣式可分別加載嵌套的Html元素中,以便實(shí)現(xiàn)可拖動(dòng)區(qū)域與不可拖動(dòng)區(qū)域(功能區(qū)域)的精準(zhǔn)劃分。
<header style="-webkit-app-region: drag">

<section style="-webkit-app-region: no-drag">
    <!--html代碼-->
</section>
<section>
    <!--html代碼-->
</section>
<section style="-webkit-app-region: no-drag">
    <!--html代碼-->
</section>

</header>

2018年6月18日 00:58
編輯回答
菊外人

這個(gè)功能說(shuō)起來(lái)很簡(jiǎn)單的,就是使用main和renderer通信
我來(lái)說(shuō)下大致的代碼:

在main.js中

ipcMain.on('quitApp',()=>{
    app.quit()
})

在renderer中

html:

 <Button @click="quitApp"></Button>

Script:

quitApp () {
      this.$electron.ipcRenderer.send('quitApp')
    }

你說(shuō)的像窗體原生按鈕,其實(shí)是用renderer發(fā)送信息到main實(shí)現(xiàn)的。具體你可以研究下ipc通信咯。
應(yīng)為有的API只能main能用。

2017年5月14日 15:16