使用 node-webkit 应用程序设计系统托盘
Style system tray with node-webkit application
我正在使用具有系统托盘菜单的 node-webkit 构建后台 windows 应用程序。我希望能够构建一个比带有复选框的下拉菜单更复杂的系统托盘菜单;更类似于保管箱的东西:
nw.js's docs 中没有提及系统托盘的样式。我如何使用 nw.js 执行此操作?
如果不是 nw.js,还有哪个 languages/frameworks 适合做这样的事情?
首先创建一个window。然后在托盘上点击让 window 出现在那边。
var gui = require('nw.gui');
var tray = new gui.Tray({
title: '',
icon: 'assets/css/images/menu_icon.png',
alticon: 'assets/css/images/menu_alticon.png',
iconsAreTemplates: false
});
//Then need create hidden window and show it on click in tray:
// create window
var params = {toolbar: app.devMode, frame: false, transparent: true, resizable: false, show: false};
window = gui.Window.open('templates/panel.html', params);
function showPopup (x, y) {
window.on('document-end', function(){
window.moveTo(x - (window.window.width / 2) - 6, y);
window.show();
window.focus();
});
}
// show panel when click in tray
tray.on('click', function (evt) {
showPopup(evt.x, evt.y);
});
希望这有效!
参考:
我正在使用具有系统托盘菜单的 node-webkit 构建后台 windows 应用程序。我希望能够构建一个比带有复选框的下拉菜单更复杂的系统托盘菜单;更类似于保管箱的东西:
nw.js's docs 中没有提及系统托盘的样式。我如何使用 nw.js 执行此操作?
如果不是 nw.js,还有哪个 languages/frameworks 适合做这样的事情?
首先创建一个window。然后在托盘上点击让 window 出现在那边。
var gui = require('nw.gui');
var tray = new gui.Tray({
title: '',
icon: 'assets/css/images/menu_icon.png',
alticon: 'assets/css/images/menu_alticon.png',
iconsAreTemplates: false
});
//Then need create hidden window and show it on click in tray:
// create window
var params = {toolbar: app.devMode, frame: false, transparent: true, resizable: false, show: false};
window = gui.Window.open('templates/panel.html', params);
function showPopup (x, y) {
window.on('document-end', function(){
window.moveTo(x - (window.window.width / 2) - 6, y);
window.show();
window.focus();
});
}
// show panel when click in tray
tray.on('click', function (evt) {
showPopup(evt.x, evt.y);
});
希望这有效!
参考: