electron的中文文档的地址:

http://www.kancloud.cn/wizardforcel/electron-doc/137791

1.如何创建窗口和改变窗口:

import { BrowserWindow, globalShortcut, Menu } from 'electron'
import Common from '../common/common.js' const winURL = process.env.NODE_ENV === 'development'
? `http://localhost:${require('../../../../config').port}`
: `file://${__dirname}/index.html` function createWindow() {
var mainWindow = new BrowserWindow({
height: Common.WINDOW_SIZE_LOGIN.height,
width: Common.WINDOW_SIZE_LOGIN.width,
resizable: false,
frame: false,
});
mainWindow.loadURL(winURL);
mainWindow.on('closed', () => {
mainWindow = null
});
//前期为了调试方面,默认打开控制台
mainWindow.webContents.openDevTools({ detach: true });
//注册打开控制台的快捷键
globalShortcut.register('ctrl+shift+alt+e', function () {
let win = BrowserWindow.getFocusedWindow();
if (win) {
win.webContents.openDevTools({ detach: true });
}
});
//去掉默认菜单栏
Menu.setApplicationMenu(null);
// eslint-disable-next-line no-console
console.log('mainWindow opened');
//添加这段代码
BrowserWindow.mainWindow = mainWindow;
return mainWindow;
} module.exports = {
createWindow
};

如何把electron的按钮的最大化,最小化 关闭窗口改变;

/**
* Created by Administrator on 2017/4/26.
* 页面对窗口的一些操作封装,用于渲染进程
*/
"use strict"; const Common = require('../common/common.js');
const { ipcRenderer, remote } = require('electron');
const RUN_LOCATION = '\\Software\\Microsoft\\Windows\\CurrentVersion\\Run';
//const file = process.execPath;
//const WinReg = require('winreg');
let flashTrayTimer = null; class WindowUtil {
// 窗口最小化
static minWindow() {
remote.getCurrentWindow().minimize();
}
// 窗口最大化
static maxWindow(isMaxed) {
const browserWindow = remote.getCurrentWindow();
if (!isMaxed) {
browserWindow.unmaximize();
} else {
browserWindow.maximize();
}
}
// 设置窗口是否能改变大小,参数true/false
static setResizable(resizable) {
remote.getCurrentWindow().setResizable(resizable);
}
// 下载文件
static download(url) {
remote.getCurrentWebContents().downloadURL(url);
} // 隐藏窗口
static hide() {
const browserWindow = remote.getCurrentWindow();
browserWindow.hide();
} // 显示窗口
static show() {
const browserWindow = remote.getCurrentWindow();
browserWindow.show();
}
// 窗口闪烁
static flashFrame() {
const browserWindow = remote.getCurrentWindow();
// if(browserWindow.isFocused() || browserWindow.isVisible())
if (!browserWindow.isFocused()) {
browserWindow.showInactive();
browserWindow.flashFrame(true);
}
}
// 设置窗口最前端显示
static setAlwaysOnTop(top) {
const browserWindow = remote.getCurrentWindow();
browserWindow.setAlwaysOnTop(top);
} // 设置开机启动
static enableAutoStart(callback) {
let key = new WinReg({ hive: WinReg.HKCU, key: RUN_LOCATION });
key.set('EUC', WinReg.REG_SZ, file, (err) => {
console.log('设置自动启动' + err);
callback(err);
});
}
// 取消开机启动
static disableAutoStart(callback) {
let key = new WinReg({ hive: WinReg.HKCU, key: RUN_LOCATION });
key.remove('EUC', (err) => {
console.log('取消自动启动' + err);
callback(err);
});
}
// 获取是否开机启动
static getAutoStartValue(callback) {
let key = new WinReg({ hive: WinReg.HKCU, key: RUN_LOCATION });
key.get('EUC', function (error, result) {
console.log("查询自动启动:" + JSON.stringify(result));
console.log("file:" + file);
if (result) {
callback(true);
}
else {
callback(false);
}
});
} /**
* 托盘图标闪烁
* @param flash true:闪烁;false:停止
*/
static flashTray(flash) {
let hasIcon = false;
const tayIcon = './imgs/logo.ico';
const tayIcon1 = './imgs/empty.png';
if (flash) {
if (flashTrayTimer) {
return;
}
flashTrayTimer = window.setInterval(() => {
ipcRenderer.send('ChangeTrayIcon', hasIcon ? tayIcon : tayIcon1);
hasIcon = !hasIcon;
}, 500);
} else {
if (flashTrayTimer) {
window.clearInterval(flashTrayTimer);
flashTrayTimer = null;
}
ipcRenderer.send('ChangeTrayIcon', tayIcon);
}
} }
module.exports = WindowUtil;

3、窗口大小的改变;

 添加一句话:BrowserWindow.mainWindow = mainWindow;不知道有用没有用

this.$router.push('/mainChat');//路由跳转mainChat
const remote = require('electron').remote;
const BrowserWindow = remote.BrowserWindow; BrowserWindow.mainWindow.setSize(common.WINDOW_SIZE_MAINCIAT.width,common.WINDOW_SIZE_MAINCIAT.height);
BrowserWindow.mainWindow.center() common.WINDOW_SIZE_MAINCIAT.width, 850
common.WINDOW_SIZE_MAINCIAT.height,600

4.electron 的Api部分;

win.setSize(width, height[, animate])

    width Integer
height Integer
animate Boolean (可选) OS X 重新设置窗口的宽高值.
win.getSize() 返回一个数组,它包含了窗口的宽,高.
win.setContentSize(width, height[, animate]) width Integer
height Integer
animate Boolean (可选) OS X 重新设置窗口客户端的宽高值(例如网页界面).
win.getContentSize() 返回一个数组,它包含了窗口客户端的宽,高.
win.setMinimumSize(width, height) width Integer
height Integer 设置窗口最小化的宽高值.
win.getMinimumSize() 返回一个数组,它包含了窗口最小化的宽,高.
win.setMaximumSize(width, height) width Integer
height Integer 设置窗口最大化的宽高值.
win.getMaximumSize() 返回一个数组,它包含了窗口最大化的宽,高.
win.setResizable(resizable) resizable Boolean 设置窗口是否可以被用户改变size.
win.isResizable() 返回 boolean,窗口是否可以被用户改变size.
win.setMovable(movable) OS X Windows movable Boolean 设置窗口是否可以被用户拖动. Linux 无效.
win.isMovable() OS X Windows 返回 boolean,窗口是否可以被用户拖动. Linux 总是返回 true.
win.setMinimizable(minimizable) OS X Windows minimizable Boolean 设置窗口是否可以最小化. Linux 无效.
win.isMinimizable() OS X Windows 返回 boolean,窗口是否可以最小化. Linux 总是返回 true.
win.setMaximizable(maximizable) OS X Windows maximizable Boolean 设置窗口是否可以最大化. Linux 无效.
win.isMaximizable() OS X Windows 返回 boolean,窗口是否可以最大化. Linux 总是返回 true.
win.setFullScreenable(fullscreenable) fullscreenable Boolean 设置点击最大化按钮是否可以全屏或最大化窗口.
win.isFullScreenable() 返回 boolean,点击最大化按钮是否可以全屏或最大化窗口.
win.setClosable(closable) OS X Windows closable Boolean 设置窗口是否可以人为关闭. Linux 无效.
win.isClosable() OS X Windows 返回 boolean,窗口是否可以人为关闭. Linux 总是返回 true.
win.setAlwaysOnTop(flag) flag Boolean 是否设置这个窗口始终在其他窗口之上.设置之后,这个窗口仍然是一个普通的窗口,不是一个不可以获得焦点的工具箱窗口.
win.isAlwaysOnTop() 返回 boolean,当前窗口是否始终在其它窗口之前.
win.center() 窗口居中.
win.setPosition(x, y[, animate]) x Integer
y Integer
animate Boolean (可选) OS X 移动窗口到对应的 x and y 坐标.
win.getPosition() 返回一个包含当前窗口位置的数组.
win.setTitle(title) title String 改变原窗口的title.
win.getTitle() 返回原窗口的title. 注意: 界面title可能和窗口title不相同.
win.flashFrame(flag) flag Boolean 开始或停止显示窗口来获得用户的关注.
win.setSkipTaskbar(skip)

electron 的中文文档的地址 以及 窗口改变的步骤的更多相关文章

  1. mysql 新手入门 官方文档+官方中文文档附地址

    点评: 官方文档地址 官方中文文档地址 sql语句扩展

  2. AndEngine中文文档下载地址

    AndEngine doc  downloadhere 下载地址:http://pan.baidu.com/s/1bnjcL0V 文档是由github仓库AndEngine的代码生成. 本doc中包括 ...

  3. 各种API中文文档下载地址

    转发: http://www.aseoe.com/api-download/download.html jquery easyui 帮助文档: http://download.csdn.net/dow ...

  4. GORM 中文文档

    由于篇幅问题,本文只是快速开始部分,下面是完整地址. 中文文档地址:http://gorm.book.jasperxu.com/ 中文文档项目地址:https://github.com/jasperx ...

  5. django2.0 官方中文文档地址

    django2.0 官方开始发布中文文档了,之前还想着一直翻译完成所有有必要的内容,想着可以省事一些了,打开以后看了一下,发现官方的中文文档还没翻译完成, 现在(2018-7-10)最新章节是是  编 ...

  6. spring boot 中文文档地址

    spring boot 中文文档地址     http://oopsguy.com/documents/springboot-docs/1.5.4/index.html Spring Boot 参考指 ...

  7. rancher2中文文档地址

    rancher2中文文档地址 待办 https://docs.rancher.cn/

  8. Phoenix综述(史上最全Phoenix中文文档)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...

  9. Chart.js中文文档-雷达图

    雷达图或蛛网图(Radar chart) 简介 A radar chart is a way of showing multiple data points and the variation bet ...

随机推荐

  1. 在 Java SE 6 中监视和诊断性能问题

    Java™ Platform, Standard Edition 6 (Java SE) 专注于提升性能,提供的增强工具可以管理和监视应用程序以及诊断常见的问题.本文将介绍 Java SE 平台中监视 ...

  2. SSH框架学习

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  3. MVC5 的MicrosoftOwinSecurity扩展插件——微信,QQ登录第三方源码

    https://github.com/jxnkwlp/Microsoft.Owin.Security.QQ-WebChat

  4. Python之zip

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #Python之zip #http://python.jobbole.com/82590/ #1)zip语法格 ...

  5. 自定义AppServer

    TelnetSever.cs public class TelnetServer : AppServer<TelnetSession> { protected override bool ...

  6. .NET Remoting三种信道Http,Tcp,IPC和Web Service的访问速度比较(转)

    Remoting和Web Service是.net中的重要技术,都可用来实现分布式系统开发,如果是不同的平台就只能选择Web Service,但如果是同一平台,就都可以选择了.到底选择那种,当然还有访 ...

  7. 实战:INNOBACKUPEX for mysql 5.6自己主动备份脚本

    #backup.sh #!/bin/sh # # 第一次运行它的时候它会检查是否有全然备份,否则先创建一个全库备份 # 当你再次执行它的时候.它会依据脚本中的设定来基于之前的全库备份进行增量备份 #o ...

  8. virtualenv沙箱

    准备用Django开发网站,豆瓣阅读中有<Django入门>,里面有人批注说用virtualenv+pip很好. 每次搞个什么都感觉举步维艰,因为之前太懒了,什么都懒得深入看一下.pip一 ...

  9. HDUOJ----(4706)Children's Day

    Children's Day Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  10. [Creating an image format with an unknown type is an error] on cordova, ios 10

    在 iOS 10  调用 了 获取  相册的 可编辑 的  照片后,会出现 [Creating an image format with an unknown type is an error] 这个 ...