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

electron 监听窗口高端变化

一、在主进程中监听窗口大小变化

1. 使用 `BrowserWindow` 的实例方法

在主进程中,可以获取窗口实例并添加 `resize` 事件监听器。

const { BrowserWindow } = require("electron");const win = BrowserWindow.getFocusedWindow();if (win) {win.on("resize", () => {const { height } = win.getBounds();console.log(`窗口高度变为:${height}`);});}

二、在渲染进程中监听窗口大小变化

1. 使用 `ipcRenderer` 与主进程通信

在渲染进程中,可以使用 `ipcRenderer` 发送消息给主进程,让主进程监听窗口大小变化并将结果发送回渲染进程。

1.1 首先在渲染进程中引入 `ipcRenderer`

<script>const { ipcRenderer } = require("electron");ipcRenderer.send("start-watch-window-size");</script>

1.2 然后在主进程中监听来自渲染进程的消息并添加窗口大小变化监听器

const { ipcMain, BrowserWindow } = require("electron");ipcMain.on("start-watch-window-size", () => {const win = BrowserWindow.getFocusedWindow();if (win) {win.on("resize", () => {const { height } = win.getBounds();win.webContents.send("window-size-changed", height);});}});

1.3 最后在渲染进程中接收主进程发送的窗口高度变化消息

<script>const { ipcRenderer } = require("electron");ipcRenderer.on("window-size-changed", (event, height) => {console.log(`窗口高度变为:${height}`);});</script>


http://www.mrgr.cn/news/58725.html

相关文章:

  • 【Docker】安装、镜像、容器
  • k8s 1.28.2 集群部署 NFS server 和 NFS Subdir External Provisioner
  • 质量保障体系(软件测试的方法论)
  • 网络安全领域推荐职位
  • 微信小程序性能优化 ==== 合理使用 setData 纯数据字段
  • 2024源鲁杯CTF网络安全技能大赛题解-Round1
  • 基础知识总结-因果分析-dayone-辛普森悖论 因果关系
  • Spring Boot 中应用单元测试(UT):结合 Mock 和 H2 讲解和案例示范
  • Openlayers高级交互(8/20):选取feature,平移feature
  • Linux中安装配置SQLite3,并实现C语言与SQLite3的交互。
  • 活着就好20241026
  • Nature Communications|一种3D打印和激光诱导协同策略用于定制功能化器件(3D打印/激光直写/柔性电子/人机交互/柔性电路)
  • react项目因eslint检测未通过而Failed to compile编译失败
  • Go操作Redis
  • 智创 AI 新视界 -- 探秘 AIGC 中的生成对抗网络(GAN)应用
  • Java项目实战II基于微信小程序的智慧旅游平台(开发文档+数据库+源码)
  • 算法的学习笔记—平衡二叉树(牛客JZ79)
  • WPF+MVVM案例实战(四)- 自定义GroupBox边框样式实现
  • 单片机开发环境搭建
  • 快速排序(hoare版本)
  • 动态规划一>简单多状态系列
  • 在WebStorm遇到Error: error:0308010C:digital envelope routines::unsupported报错时的解决方案
  • It行业重点知识点详解操作系统学习方法
  • 什么是DSSA?
  • mysql建表
  • C#从零开始学习(GameObject实例)(unity Lab3)