extjs desktop startmenu (開始菜单)
extjs desktop 的開始菜单 二级菜单,仅仅是简单演示实现原理,如 须要动态生成,自己改造就可以,下面基本方法原理:
首先 建立一个js文件 生成開始菜单数据:
function GetStartMenu(app) { var menuArray = []; var m = { launcher: { text: '開始菜单第一级A', iconCls: 'icon-grid', handler: function() { return false; }, menu: { minWidth: 127, items: [] } } }; m.launcher.menu.items.push({ winId: 'menua01', winUrl: 'abc/abcd.html', text: '開始菜单第二级A01', maximized: false, iconCls: 'icon-grid', scope: this, handler: function(src) { var desktop = app.getDesktop(); var win = desktop.getWindow('menua01'); if (!win) { win = desktop.createWindow({ border: false, id: 'menua01', title: '開始菜单第二级A01', width: 600, height: 500, maximized: true, maximizable: true, resizable: true, iconCls: 'icon-grid', hideMode: 'offsets', constrain: true, layout: 'fit', loader: { url: 'abc/abcd.html', autoLoad: true, scripts: true } }); } win.show(); return win; } }); m.launcher.menu.items.push({ winId: 'menua02', winUrl: 'abc/bbbb.html', text: '開始菜单第二级A02' maximized: false, iconCls: 'icon-grid', scope: this, handler: function(src) { var desktop = app.getDesktop(); var win = desktop.getWindow('menua02'); if (!win) { win = desktop.createWindow({ border: false, id: 'menua02', title: '開始菜单第二级A02', width: 800, height: 600, maximized: false, maximizable: true, resizable: false, iconCls: 'icon-grid', hideMode: 'offsets', constrain: true, layout: 'fit', loader: { url: 'abc/bbbb.html', autoLoad: true, scripts: true } }); } win.show(); return win; } }); menuArray.push(m); return menuArray; }
在主页面引入该文件 然后改动app.js,找到 getModules: function () { 删除里面内容 改为:
getModules: function () {
return GetStartMenu(this);
},
就可以实现開始菜单的二级菜单