一种实现flex自定义右键菜单的方法技术

技术编号:5512022 阅读:1060 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种实现flex自定义右键菜单的方法,包括下列步骤:1)鼠标触摸到flex应用中需要设置右键菜单的组件,保存鼠标触摸组件的对象;2)鼠标右键点击所述组件,flash播放器派发右键点击事件到html模板;3)html模板获取事件后,html模板中的组件调用flex应用方法生成模拟生成的鼠标右击事件,鼠标触摸组件的对象派发该事件;4)需要设置右键菜单的组件响应模拟生成的鼠标右击事件弹出flex右键菜单。采用本发明专利技术的方法可以屏蔽flex默认菜单,并根据flex内部样式自由设置菜单的风格和功能选项,给用户更好的个人体验。

【技术实现步骤摘要】

本专利技术涉及按键菜单领域,尤其涉及实现flex自定义右键菜单的方法。
技术介绍
Adobe提供的flex本身不提供右键菜单,在flex或flash应用上点击右键出现 的菜单是flash播放器设置菜单,参见图1,即当鼠标右键单击flex界面组件时,flash播 放器响应该事件并弹出flash播放器设置菜单,该菜单即为fIashplayer默认右键菜单,在 这个过程中,事件被flashplayer拦截,并防止事件冒泡和流过,事件传递到html。事件不 会派发到fIashplayer内部应用内,flex或flash应用中获取不到右键单击事件。在flex 或flash应用程序中可以调整一些右键功能选项,但屏蔽不了默认的flash播放器设置菜 单的功能,对菜单样式也不能自定义设置,与自定义的flex应用风格不搭配,没有良好的 用户体验。
技术实现思路
本专利技术针对现有flex中右键菜单的确定,提供一种能完全屏蔽flex默认右键菜 单,实现个性化自定义右键菜单的方法。本专利技术的技术方案为,其步骤如下1、鼠标触摸到flex应用中需要设置右键菜单的组件,保存鼠标触摸组件的对象 (即flex应用中需要设置右键菜单的组件);。2、鼠标右键点击所述组件,flash播放器派发右键点击事件到html模板;3、html模板获取事件后,html模板调用flex应用方法生成模拟生成的鼠标右击 事件,鼠标触摸组件的对象派发该模拟生成的鼠标右击事件;4、需要设置右键菜单的组件响应模拟生成的鼠标右击事件弹出flex右键菜单。所述flex应用方法为将鼠标右键点击后产生的鼠标右击事件的buttonDown设为 false,获得模拟生成的鼠标右击事件。所述模拟生成的鼠标右击事件的buttonDown设为false。 所述flex右键菜单为自定义的弹出窗口。所述flex右键菜单是指采用flex内部样式生成弹出窗口。从而实现右键菜单个 性化。所述html模板中flash播放器的参数params. wmode设为opaque。所述html模板中调用flex应用方法的组件为javascript组件。本专利技术的优点1、可以自由设置菜单的风格2、可以自用设置菜单的功能选项3、屏蔽了 flex默认的菜单附图说明图1是实现flex默认右键菜单的方法流程图;图2是本专利技术的实现Flex自定义右键菜单的方法流程图。具体实施例方式下面根据附图进一步详细说明本专利技术的方法。,如图2所示,包括如下步骤1)、在 html 模板中设置 flashplayer 参数 params. wmode = 〃 opaque “,使应用程 序隐藏页面上位于它后面的所有内容,这样就可以响应应用程序中的鼠标事件了。2)、鼠标拖放到flex应用中需要设置右键菜单的组件上,监听由此产生的鼠标触 摸事件,并保存鼠标触摸事件目标源的对象到应用变量中;3)、右键点击flex应用中需要设置右键菜单的组件,此时触发mouseover事件 (右键点击事件),记录该事件目标源即需要派发鼠标右键事件的组件,同时右键点击事件 由flash播放器派发,播放器继续抛出事件至html模板。即右键点击事件流过flash播放 器。在flex事件机制中,组件响应事件一般分为冒泡阶段,目标阶段,捕获阶段。冒泡和捕 获阶段事件都会经过所有通过Flex应用中包含需要相应鼠标事件的组件可视化容器。此 通过形象比喻为流过。4)、html模板响应鼠标点击事件,javascript组件调用flex应用中的方法,即将 鼠标右键点击后产生的鼠标右击事件的buttonDown设为false,获得模拟生成的鼠标右击 事件的方法。5)、javascript调用的flex方法中用鼠标触摸事件目标源对象派发模拟生成的 鼠标右击事件。此时鼠标触摸事件源与右键点击事件源是同一对象,即应用中需要设置右 键菜单的组件。6)、需要设置右键菜单的组件组件响应该事件在鼠标当前位置弹出弹出窗口。弹 出窗口即为自定义的右键菜单。该窗口可应用flex的内部样式生成各种个性化的右键菜单窗口。权利要求1. ,包括如下步骤1、鼠标触摸到flex应用中需要设置右键菜单的组件,保存鼠标触摸组件的对象;(2、鼠标右键点击所述组件,flash播放器派发右键点击事件到html模板;(3、html模板获取事件后,html模板中的组件调用flex应用方法生成模拟生成的鼠标 右击事件,鼠标触摸组件的对象派发该事件;(4、需要设置右键菜单的组件响应模拟生成的鼠标右击事件弹出flex右键菜单。2.根据权利要求1所述的实现flex自定义右键菜单的方法,其特征在于所述flex应 用方法为将鼠标右键点击后产生的鼠标右击事件的buttonDown设为false,获得模拟生成的鼠 标右击事件。3.根据权利要求1所述的实现flex自定义右键菜单的方法,其特征在于所述模拟生成 的鼠标右击事件的buttonDown设为false。4.根据权利要求1所述的实现flex自定义右键菜单的方法,其特征在于所述flex右 键菜单为自定义的弹出窗口。5.根据权利要求1或4所述的实现flex自定义右键菜单的方法,其特征在于所述flex 右键菜单是指采用flex内部样式生成的弹出窗口。6.根据权利要求1所述的实现flex自定义右键菜单的方法,其特征在于所述html模 板中flash播方文器的参数params. wmode设为opaque。7.根据权利要求1所述的实现flex自定义右键菜单的方法,其特征在于所述html模 板中调用flex应用方法的组件为javascript组件。全文摘要本专利技术公开了,包括下列步骤1)鼠标触摸到flex应用中需要设置右键菜单的组件,保存鼠标触摸组件的对象;2)鼠标右键点击所述组件,flash播放器派发右键点击事件到html模板;3)html模板获取事件后,html模板中的组件调用flex应用方法生成模拟生成的鼠标右击事件,鼠标触摸组件的对象派发该事件;4)需要设置右键菜单的组件响应模拟生成的鼠标右击事件弹出flex右键菜单。采用本专利技术的方法可以屏蔽flex默认菜单,并根据flex内部样式自由设置菜单的风格和功能选项,给用户更好的个人体验。文档编号G06F3/048GK102073452SQ20101061280公开日2011年5月25日 申请日期2010年12月29日 优先权日2010年12月29日专利技术者廉喆, 沈首二 申请人:北京锐安科技有限公司本文档来自技高网...

【技术保护点】
一种实现flex自定义右键菜单的方法,包括如下步骤:1、鼠标触摸到flex应用中需要设置右键菜单的组件,保存鼠标触摸组件的对象;2、鼠标右键点击所述组件,flash播放器派发右键点击事件到html模板;3、html模板获取事件后,html模板中的组件调用flex应用方法生成模拟生成的鼠标右击事件,鼠标触摸组件的对象派发该事件;4、需要设置右键菜单的组件响应模拟生成的鼠标右击事件弹出flex右键菜单。

【技术特征摘要】

【专利技术属性】
技术研发人员:沈首二廉喆
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:11[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1