当前位置: 首页 > news >正文

增城网站开发做企业网站多少钱

增城网站开发,做企业网站多少钱,微信兼职网站开发,推广赚钱软件最近使用了electron框架#xff0c;发现如果自定义拖动是比较实用的;特别是定制化比较高的项目#xff0c;如果单纯的使用-webkit-app-region: drag;会让鼠标事件无法触发; 过程中发现问题#xff1a; 1.windows缩放不是100%后设置偏移界面会缩放#xff0c;感觉像吹起的气… 最近使用了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 this.win.getSize();this.winStartPosition.x winPosition[0];this.winStartPosition.y winPosition[1];this.winStartPosition.width winSize[0];this.winStartPosition.height winSize[1];// 获取鼠标绝对位置const mouseStartPosition screen.getCursorScreenPoint();this.startPosition.x mouseStartPosition.x;this.startPosition.y mouseStartPosition.y;// 开启刷新this.move();}move() {if (!this.isOpen) {return;};console.log(this.win.isDestroyed(), this.win.isDestroyed(), this.win.isFocused());// 如果窗口已销毁if (this.win.isDestroyed()) {this.end();return;}// 判断窗口是否聚焦if (!this.win.isFocused()) {this.end();return;}const cursorPosition screen.getCursorScreenPoint();const x this.winStartPosition.x cursorPosition.x - this.startPosition.x;const y this.winStartPosition.y cursorPosition.y - this.startPosition.y;// this.win.setPosition(120, 120, false);// this.win.setBounds({x: 120, y: 120})// 更新位置的同时设置窗口原大小 windows上设置显示设置文本缩放 不是100%时窗口会拖拽放大this.win.setBounds({x: x,y: y,width: this.winStartPosition.width,height: this.winStartPosition.height,})setTimeout(() {this.move();}, 20)}end() {this.isOpen false;} }在main.js中引入 import { AzCustomWindowMove } from ./util;/* new 自定义窗口移动 */ const CustomWindowMove new AzCustomWindowMove();// 创建一个窗口 const mainWindow new BrowserWindow({frame: false,webPreferences: {preload: join(__dirname, ../preload/index.js),sandbox: false} })// 将窗口传进去 CustomWindowMove.init(mainWindow)// 通信监听 ipcMain.on(Main_Window_Operate, (event, info) { const operateEvent info.event || ;switch(operateEvent) {// 拖拽窗口-开始case homeDragWindowStart:{/*如果别的窗口也想复用这个自定义拖拽方法可以这么用;const webContents event.sender;const win BrowserWindow.fromWebContents(webContents);CustomWindowMove.init(win);CustomWindowMove.start();*/CustomWindowMove.start();}break;// 拖拽窗口-结束case homeDragWindowEnd:{CustomWindowMove.end();}break;default:break;}})preload.ts 预加载脚本 import { contextBridge, ipcRenderer } from electron import { electronAPI } from electron-toolkit/preload ...contextBridge.exposeInMainWorld(customAPI, {/*** 发布main窗口操作消息* param info {type: 操作类型, data: 参数}*/publishMainWindowOperateMessage: (info: {event: string, data: {}}) {ipcRenderer.send(Main_Window_Operate, info);} }) ...React绑定事件 const handleMouseDown (e) {(window as any).customAPI.publishMainWindowOperateMessage({event: homeDragWindowStart}); } const handleMouseUp (e) {(window as any).customAPI.publishMainWindowOperateMessage({event: homeDragWindowEnd}); } /*第二个思路, 当按下后监听document的事件*/ const handleMouseDown (e) {// 通知开始(window as any).customAPI.publishMainWindowOperateMessage({event: homeDragWindowStart});// 鼠标抬起document.onmouseup function () {document.onmousemove null;document.onmouseup null;document.onselectstart null;// 通知结束(window as any).customAPI.publishMainWindowOperateMessage({event: homeDragWindowEnd});} } divonMouseDown{handleMouseDown} onMouseUp{handleMouseUp} 自定义窗口移动/div
http://www.sczhlp.com/news/215973/

相关文章:

  • 百度网站 v怎么怎做全球域名注册商
  • 旅游网站开发报告松原市住房和城乡建设厅网站
  • 2025 年水泥管源头厂家最新推荐榜单:国标 / 二级 / 钢筋混凝土 / 大口径 / 平口等多类型产品实力企业全方位剖析
  • Redis常用命令指南
  • 2025 年塑胶跑道厂家最新推荐排行榜:聚焦优质企业核心优势,助力采购决策
  • 2025年10月益生菌厂家评价榜:五强排名与场景化选购建议
  • 【2025-10-18】连岳摘抄
  • 网站建设网络推广外包服务商网站sem托管
  • 网站开发个人简介范文建设银行大冶支行网站
  • 做像淘宝这样的购物网站要多少钱网站制作方案策划简历
  • 建站宝盒怎么样电子商务网站建设与维护的主要内容
  • 网站设计标杆企业wordpress开发手册中文版
  • 别人盗用我的网站备案号怎么办南京网站优化推广
  • app网站建设制作北京响应式网站制作公司
  • 音乐网站 模板电商平面设计是什么
  • 网站维护页面怎么做的长春网站建设新格
  • 甘肃省城乡建设厅网站网站开发话题
  • flash学习网站fullpage网站怎么做
  • 网站seo方法人像摄影网站有哪些
  • 微信授权登录网站退出怎么做个人怎么创建网站
  • 中心网站建设方法网站维护要多久
  • 装修装饰网站建设官方网站撰写策划书
  • wordpress 下载的还是旧文件乌海seo
  • 设计素材网站哪个最好推荐个人简介ppt免费模板
  • 网站开发验收单如何规划一个网站
  • 网络建站东北做展厅的网站
  • 四川建设厅官方网站查询资料员详情页面设计
  • 做网站开公司网站后台的验证码
  • wordpress 悬浮 插件seo实战密码第四版
  • 淮安市哪里有做网站算命网站开发