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. innodb_file_per_table

    MySQL InnoDB引擎 默认会将所有的数据库InnoDB引擎的表数据存储在一个共享空间中:ibdata1,当增删数据库的时候,ibdata1文件不会自动收缩,单个数据库的备份也将成为问题.通常只 ...

  2. jprofiler_windows-x64_9_1注册码

    L-Larry_Lau@163.com#5481-ucjn4a16rvd98#6038 L-Larry_Lau@163.com#36573-fdkscp15axjj6#25257

  3. HDU 1023 Train Problem II 大数打表Catalan数

    一个出栈有多少种顺序的问题.一般都知道是Catalan数了. 问题是这个Catalan数非常大,故此须要使用高精度计算. 并且打表会速度快非常多.打表公式要熟记: Catalan数公式 Cn=C(2n ...

  4. maven Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4

      maven Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4 CreateTime--201 ...

  5. getpass模块

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #getpass模块 import getpass ''' >>> help(getpass ...

  6. Java 性能测试的四项原则

    绝大数的开发人员在日常工作过程中都会或多或少的遇见过性能问题,本文旨在阐述性能测试的理论,从而为性能分析和开发人员做指导.本文对于那些刚刚接触性能调优和正在解决问题的开发人员也能提供一些启发性的思路. ...

  7. cocos2dx 3.2 解决输入框(TextField,TextFieldTTF) 中文乱码问题

    近期开发cocos2dx 项目,做一个小游戏.(个人喜欢用最新版本号) 没系统学习就是问题多多,遇到了非常多问题,比方全部的opengl api都必须在主线程中调用, 这让我在多线程载入方面吃了不少亏 ...

  8. HDUOJ----专题训练

    Problem B Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Total Su ...

  9. 马哥 Linux运维基础进阶和shell入门

    地址:http://edu.51cto.com/course/course_id-618.html 紧接马哥linux专题 第一讲 Bash变量: 1byte= -128,127 2bytes -32 ...

  10. SQL Server 2005/2008遍历所有表更新统计信息

    DECLARE UpdateStatisticsTables CURSOR READ_ONLY FOR 02   SELECT sst.name, 03          Schema_name(ss ...