electron 自定义标题栏_electron+vue制作桌面应用--自定义标题栏

本文介绍了如何在 Electron 应用中移除默认标题栏,并通过 Vue 创建自定义标题栏。首先设置 BrowserWindow 参数 `frame: false` 来隐藏原生标题栏和边框,接着创建一个名为 Mytitle 的 Vue 组件来实现自定义样式。在 CSS 中,利用 `-webkit-app-region: drag;` 和 `-webkit-app-region: no-drag;` 分别设定拖动区域和不可拖动区域,确保应用可以被正确拖动。在 App.vue 中引入组件并重置默认样式以消除边距,完成基本的自定义标题栏设计。
摘要由CSDN通过智能技术生成

electron会默认显示边框和标题栏,如下图

15fda69369e1f3e7895b6f8c2602af92.png

我们来看一下如何自定义一个更加有(gao)意(da)思(shang)的标题栏,例如网易云音乐这种

7d980aa3bd48faa0580936d1e29beed8.png

首先我们要把默认的标题栏删掉,找到主进程中创建窗体部分,new BrowserWindow时添加参数frame: false即可

mainWindow = new BrowserWindow({

useContentSize: true,

frame: false,

})

这样会把标题栏和边框一并隐藏

然后我们开始制作自己的标题栏

创建Mytitle组件‘\src\renderer\components\mytitle\Mytitle.vue‘

export default {

name: ‘Mytitle‘,

methods: {

}

}

#mytitle {

width: 100%;

height: 52px;

background-color: rgb(198, 47, 47);

-webkit-app-region: drag;

}

这里需要注意的是,去掉标题栏后,应用就没法拖动了,需要拖动的话需要拖动的区域需要设置css样式

-webkit-app-region: drag;

设置某一部分不可拖动为

-webkit-app-region: no-drag;

然后在App.vue中添加我们新建的组件

import Mytitle from ‘./components/mytitle/Mytitle‘;

export default {

name: ‘vue-electron-demo‘,

components: {

Mytitle

}

}

html,

body,

div {

margin: 0;

padding: 0;

}

这里需要对默认样式进行重置,不然标题栏与窗体会有边距,like this

c2427c2d64d529dfdda5acafc96f7483.png

现在自定义标题栏的基本雏形已经完成,剩下的就是基本的请自由发挥吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值