//创建托盘图标 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);//创建弹出菜单
winform.popmenu.add('&open',function(id){
//在下面输入菜单响应代码
});
winform.popmenu.add();//分隔线
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();
Markdown 格式