electron-vue自定义窗口

electron-vue自定义窗口

1.主进程中添加 frame: false

  mainWindow = new BrowserWindow({
    height: 563,
    minHeight:400,
    minWidth:500,
    useContentSize: true,
    width: 1000,
    show:false,
    frame: false,//隐藏标题栏颜色
    icon:path.join(__static,'./imgs/icon.ico')
  })

2.创建Headr.vue

<template>
    <div class="header">
        <img class="logo" src="~@/assets/imgs/icon.png" alt="">
        <div class="right">
            <span class="icon iconfont icon-zuixiaohua3" title="最小化" @click="minimizeWin"></span>
            <span class="icon iconfont icon-zuidahua1" title="最大化"  @click="maximizeWin"></span>
            <span class="icon iconfont icon-guanbi" title="关闭" @click="closeWin"></span>
        </div>

    </div>
</template>

<script>
    import { remote } from 'electron';
    export default {
        name: "Header",
        methods: {
            minimizeWin(){
                remote.getCurrentWindow().minimize(); // 窗口最小化
            },
            maximizeWin(){
                const win=remote.getCurrentWindow();
                if(win.isMaximized()){ // 判断 窗口是否已最大化
                    win.restore();// 恢复原窗口大小
                }else{
                    win.maximize();  //最大化窗口
                }
            },
            closeWin(){
                // ipcRenderer.send('close');
                remote.getCurrentWindow().close(); // 关闭窗口,也结束了所有进程
            }
        }
    }
</script>

<style scoped>
    .right{
        float: right;
        -webkit-app-region: no-drag //自定义元素上添加此样式否自无法操作

    }
    .right .icon{
        display: inline-block;
        line-height: 30px;
        height: 30px;
        width: 30px;
        text-align: center;
        cursor: pointer;
        color: #d3dae3;
    }
    .right .icon:hover{
        color: #ffffff;
        background-color: #b4b6ba;
    }
    .right .icon-guanbi:hover{
        background-color: #b10202;
    }
.header{
    height:30px;
    background-color: #6c6b6b;
    -webkit-app-region: drag;//添加此样式
}
    .logo{
        width: 30px;
    }
</style>
注意事项

(1)给header页面的根元素添加 -webkit-app-region: drag; 样式
(2)给需要操作的元素添加 -webkit-app-region: no-drag; 样式

3.app.vue中引入Header.vue

<template>
  <div id="app">
    <v-Header></v-Header>
    <router-view></router-view>
  </div>
</template>

<script>
  import Header from './components/Header'
  export default {
    name: 'dome3',
    components:{
      "v-Header":Header
    }
  }
</script>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值