最近使用了electron框架,发现如果自定义拖动是比较实用的;特别是定制化比较高的项目,如果单纯的使用-webkit-app-region: drag;会让鼠标事件无法触发;
过程中发现问题:
1.windows缩放不是100%后设置偏移界面会缩放,感觉像吹起的气球;
2.单纯的添加css;-webkit-app-region: drag; 会让鼠标事件无法触发;
封装核心方法
import {
screen } from 'electron'
/* 自定义窗口移动 */
export class AzCustomWindowMove {
// 是否开启
isOpen: boolean;
// 传入要处理的窗口
win: any;
// 窗口偏移
winStartPosition: {
x: number, y: number, width: number, height: number,
}
// 现在鼠标所在位置
startPosition: {
x: number, y: number,
}
constructor() {
this.isOpen = false;
this.win = null;
this.winStartPosition = {
x: 0,
y: 0,
width: 0,
height: 0,
}
this.startPosition = {
x: 0,
y: 0,
}
}
init(win: any) {
this.win = win;
}
start() {
this.isOpen = true;
// 获取当前窗口偏移[x, y]
const winPosition = this.win.getPosition();
// 获取当前缩放[width, height]
const winSize =