smartrcp开源平台使用Java与Flex构建桌面程序 六(右键菜单)

废话不用多说,只需下面几句简单代码就可以创建出功能完整的右键菜单

//构造右键菜单对象
var nativeMenu:CNativeMenuBuilder=new CNativeMenuBuilder(this.flashContainer);
//添加action到该右键菜单对象中
nativeMenu.addAction(this.copyAction);
nativeMenu.addAction(this.pasteAction);
nativeMenu.addAction(this.aboutAction);
/**使用CMenuRelation对象组织菜单*/
//创建关于菜单,并添加aboutAction菜单项
var relAbout:CMenuRelation=new CMenuRelation("关于");
relAbout.actions=[this.aboutAction.actionId];
//创建操作菜单,并添加pasteAction与copyAction两个菜单项
var relOper:CMenuRelation=new CMenuRelation("操作");
relOper.actions=[this.pasteAction.actionId,this.copyAction.actionId];
//将关于菜单与操作菜单添加进顶层菜单
var relMenu:CMenuRelation=new CMenuRelation();//顶层菜单的label属性一定要为null
relMenu.actions=[relOper,"-",relAbout];
//将菜单的结构对象relMenu传递给nativeMenu本地菜单
nativeMenu.initMenu(relMenu);
//添加菜单监听器
nativeMenu.addListener(function(evt:CActionEvent):void{
    this.setInfo("你单击的菜单项为: "+evt.actionId);
},this);

//将右键菜单对象添加进菜单管理器以便在menuPanel对象被右击的时候显示该右键菜单
//this.menuPanel对象必须为mx.core.Container类型对象或其子类对象
this.contextMenuManager.addNativeMenu(this.menuPanel,nativeMenu);
 




mxml中的定义如下:

<mx:Container width="200" height="100" id="menuPanel" backgroundColor="#778899"/>
<rcp:CAction id="aboutAction" actionId="actionAbout" text="关于smartrcp"/>
<rcp:CAction id="copyAction" actionId="actionCopy" text="复制"/>
<rcp:CAction id="pasteAction" actionId="actionPaste" text="黏贴"/>
 

效果图如下:

 

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值