添加右键菜单和标题栏菜单的两种方式

By admin at 2017-12-10 • 1人收藏 • 2434人看过

一种是直接利用add

import win.ui.menu;
mainForm.popmenu = win.ui.popmenu(mainForm); 
mainForm.popmenu.add('删除',function(id){ 
        mainForm.listbox.delete()
} ) 
mainForm.popmenu.add('编辑',function(id){ 
        。。。。。。
} )

另外一种是用addtable

mainForm.popmenu.addTable( {
    { "菜单文本";  function(id){
         
    } }; { /*分隔线*/ }
    { "退出程序"; function(id){  
        winform.close() 
   } };
} )

相比这两种形式,第一种可以直接添加ico图片,但是第二种添加批量的更方便

4 个回复 | 最后更新于 2018-01-05
2017-12-10   #1

弹出菜单里怎么级联多重菜单项:

var topbarmenu = win.ui.popmenu(winform);
topbarmenu.addTable( {
    { "收起格子";  function(id){
        winform.msgbox("收起格子")
    } }; 
    { "显示方式";{
                    {
                        "图标";   function(id){
                            winform.msgbox("图标")
                        }
                         
                    };
                    {
                        "列表";   function(id){
                            winform.msgbox("列表")
                        }
                         
                    }
                }
     
      };
     { "排序方式";{
                    {
                        "名称";   function(id){
                            winform.msgbox("名称")
                        }
                         
                    };
                    {
                        "大小";   function(id){
                            winform.msgbox("大小")
                        }
                         
                    };
                    {
                        "类型";   function(id){
                            winform.msgbox("类型")
                        }
                         
                    };
                    {
                        "修改时间"; function(id){
                            winform.msgbox("修改时间")
                        }
                         
                    }
                };
     
      }; 
    { "重命名";  function(id){
            winform.msgbox("重命名")
    } };
    { "移除格子";  function(id){
            winform.msgbox("移除格子");
            winform.close();
    } };
       
} )
 
 
//用的时候
winform.topmenu.oncommand = function(id,event){
    topbarmenu.popup();
}


2018-01-05   #2
var menu = win.ui.menu(winform);
menu.addTable({
    {
        '文件(&F)'; {
            {
                text = '新建(&N)\tCtrl+N';
                proc = new;
                bitmap = "\res\ico\new.bmp"
            }; {
                text = '打开(&O)\tCtrl+O';
                proc = open;
                bitmap = "\res\ico\open.bmp"
            }; {
                text = '保存(&S)\tCtrl+S';
                proc = save;
                bitmap = "\res\ico\save.bmp"
            }; { /*分割线*/ }; {
                text = '打印(&P)\tCtrl+P';
                proc = print;
                bitmap = "\res\ico\print.bmp"
            } { /*分割线*/ }; {
                text = '退出(&E)\tCtrl+E';
                proc = exit;
                bitmap = "\res\ico\close.bmp"
            };
        }
    };
})

addtable 批量添加一样可以直接添加图片

2018-01-05   #3

回复#2 @codex :

这个厉害,函数还可以写到外面

2018-01-05   #4

回复#3 @admin :

定义函数不就是为了重复调用吗 写死在里面就没办法在其他地方用了。

这样可以写到一个库里面,随便调用!

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...