【第七章7.2】托盘图标 -- 创建托盘图标
import win.ui; import win.ui.menu; /*DSG{{*/ var winform = win.form(text="托盘图标";left=0;top=0;right=330;bottom=156) winform.add( button={cls="button";text="创建托盘图标";left=97;top=37;right=248;bottom=68;z=1} ) /*}}*/ //下面创建托盘图标 import win.util.tray; winform.button.oncommand = function(id,event){ // 创建托盘图标对象并关联当前窗口 winform.tray = win.util.tray(winform) // 设置鼠标悬停在托盘图标上时的提示文本 winform.tray.tip = "鼠标提示" // 弹出托盘消息通知 // 注意在单引号包含的转义字符串里只能以 '\n' 表示换行符,其他换行被忽略。 winform.tray.pop(' Win10 开始由操作系统的『专注』、应用程序的『通知』等设置 决定是否显示模幅提示或折叠消息到通知区。通知消息可使用 dotNet.toastListener 扩展库。' ,"托盘消息通知"); } // 窗口最小化事件处理函数 winform.onMinimize = function(lParam){ // 创建托盘图标对象并关联当前窗口 winform.tray = win.util.tray(winform); // 隐藏窗口 winform.show(false); // 阻止默认消息传递,取消最小化过程 return true; } // 托盘消息处理函数 winform.onTrayMessage = { [0x205/*_WM_RBUTTONUP*/ ] = function(wParam){ // 弹出托盘菜单前,将主窗口前置 // 避免不点击菜单不会消失,父窗口隐藏也要这样做 win.setForeground(winform.hwnd,true) //参数 2 为 true 避免显示最小化窗口 /* 下面创建托盘弹出菜单。 如果程序要开机启动到托盘,最好在这里创建菜单,在用户点击前不要创建菜单, 避免系统启动时 DPI 缩放前创建的菜单字体偏小(出现这情况的机率很小)。 如果不想重复创建菜单最好写到一个库里,然后在这里 import 即可避免上述问题。 */ import win.ui.menu; // 创建弹出菜单对象 winform.popmenu = win.ui.popmenu(winform); // 添加菜单项 'open' 及响应函数 winform.popmenu.add('&open',function(id){ // 在下面输入菜单响应代码 }); // 添加分隔线 winform.popmenu.add(); // 添加菜单项 'exit' 及响应函数 winform.popmenu.add('&exit',function(id){ winform.close() }) // 弹出菜单 winform.popmenu.popup(); // 关闭菜单 winform.popmenu.close(); }; [0x202/*_WM_LBUTTONUP*/] = function(wParam){ // 鼠标左键单击托盘图标时的处理函数(目前为空) }; [0x203/*_WM_LBUTTONDBLCLK*/] = function(wParam){ // 鼠标左键双击托盘图标时的处理函数(目前为空) }; [0x404/*_PARAM_DESTROY*/] = function(wParam){ // 托盘图标销毁时的处理函数(目前为空) }; [0x405/*_PARAM_CLICKED*/] = function(wParam){ // 托盘图标点击时的处理函数(目前为空) }; } // 显示窗口 winform.show(true); // 启动界面线程消息循环 win.loopMessage();
简洁版
//创建托盘图标 import win.ui; /*DSG{{*/ var winform = win.form(text="托盘图标";left=0;top=0;right=620;bottom=346) winform.add( button={cls="button";text="创建托盘图标";left=183;top=120;right=423;bottom=163;z=1} ) /*}}*/ import win.util.tray; // 导入托盘图标库 winform.button.oncommand = function(id,event){ winform.tray = win.util.tray(winform); //实例化 或者 初始化 winform.tray.tip = "鼠标提示"; //设置将鼠标放在托盘图标上显示的文字提示 winform.tray.pop('您有新的订单,订单:xxxxxxxx,预计配送时间xx:xx:xx , 请及时联系配送送货,歇歇!',"新订单",,5);//提示消息 } winform.show(true); win.loopMessage();
相关回复
-
暂无评论!