进阶:案例六: Context Menu(静态 与 动态)
实现:
1、add:

2、delete

3、add2

实现步骤:
1、新建属性display_text
2、创建layout

3、代码部分:
add事件:
METHOD onactionadd .
DATA: ls_disp TYPE string.
wd_context->get_attribute(
EXPORTING name = 'DISPLAY_TEXT'
IMPORTING value = ls_disp ).
CONCATENATE ls_disp 'Action1' into ls_disp.
wd_Context->SET_ATTRIBUTE( name = 'DISPLAY_TEXT' value = ls_disp ). ENDMETHOD.
add2事件:
method ONACTIONADD2 .
data: ls_disp type string.
wd_Context->get_attribute(
EXPORTING name = 'DISPLAY_TEXT'
IMPORTING value = ls_disp ).
CONCATENATE ls_disp 'Action2' into ls_disp.
wd_Context->SET_ATTRIBUTE( name = 'DISPLAY_TEXT' value = ls_disp ).
endmethod.
delete事件:
method ONACTIONDELETE .
data: ls_disp type string.
wd_Context->SET_ATTRIBUTE( name = 'DISPLAY_TEXT' value = space ).
endmethod.
方法WDDOONCONTEXTMENU好像没起作用
method WDDOONCONTEXTMENU .
DATA: ls_id type string,
lo_menu type REF TO cl_wd_menu,
lo_menu_item type REF TO cl_wd_menu_action_item.
* get the UI element ID
ls_id = CONTEXT_MENU_EVENT->originator->id.
* if it is the 1st UI,then assign the Cotext Menu statically
IF ls_id = 'TEXT'.
MENU = CONTEXT_MENU_MANAGER->get_context_menu( 'ACTION' ).
ENDIF.
* if it is the 2nd UI,then assign the Cotext Menu programly
IF ls_id = 'TEXT2'.
**runtime object
lo_menu = cl_wd_menu=>new_menu( id = 'ACTION2' ).
**menu itme
lo_menu_item = cl_wd_menu_action_item=>new_menu_action_item(
id = 'ADD2'
on_action = 'ADD2'
text = 'Action2-Add2' ).
**add this item to menu
lo_menu->add_item( lo_menu_item ).
**menu itme
lo_menu_item = cl_wd_menu_action_item=>new_menu_action_item(
id = 'DELETE2'
on_action = 'DELETE'
text = 'Action2-DELETE2' ).
**add this item to menu
lo_menu->add_item( lo_menu_item ).
**return the menu
MENU = lo_menu.
ENDIF.
endmethod.
进阶:案例六: Context Menu(静态 与 动态)的更多相关文章
- WPF案例 (六) 动态切换UI布局
原文:WPF案例 (六) 动态切换UI布局 这个Wpf示例对同一个界面支持以ListView或者CardView的布局方式呈现界面,使用控件ItemsControl绑定数据源,使用DataTempla ...
- webpack4入门到进阶案例实战课程
愿景:"让编程不在难学,让技术与生活更加有趣" 更多教程请访问xdclass.net 第一章 webpack4前言 第一集 webpack4入门到进阶案例实战课程介绍 简介:讲述w ...
- Android中BroadcastReceiver的两种注册方式(静态和动态)详解
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来 ...
- Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理)
Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理) 一丶封装 , 多态 封装: 将一些东西封装到一个地方,你还可以取出来( ...
- SpringBoot进阶教程(六十四)注解大全
在Spring1.x时代,还没出现注解,需要大量xml配置文件并在内部编写大量bean标签.Java5推出新特性annotation,为spring的更新奠定了基础.从Spring 2.X开始spri ...
- Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图
Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图 Bing Maps Silverlight Control虽然为我们提供了简洁.方面的开 ...
- SpringBoot进阶教程(六十一)intellij idea project下建多个module搭建架构(下)
在上一篇文章<SpringBoot进阶教程(六十)intellij idea project下建多个module(上)>中,我们已经介绍了在intellij idea中创建project之 ...
- Spring进阶案例之注解和IoC案例
Spring进阶案例之注解和IoC案例 一.常见的注解分类及其作用 从此前的基于xml的IoC开发案例和依赖注入案例中,我们可以将xml配置归纳为: <bean id="" ...
- SpringBoot进阶教程(六十五)自定义注解
在上一篇文章<SpringBoot进阶教程(六十四)注解大全>中介绍了springboot的常用注解,springboot提供的注解非常的多,这些注解简化了我们的很多操作.今天主要介绍介绍 ...
随机推荐
- 利用CentOS系统IPtables防火墙添加网站IP白名单
参考博文: 利用CentOS系统IPtables防火墙添加360网站卫士节点IP白名单 centos6.5添加白名单如下: 在防火墙 配置文件中加入白名单 ip -A INPUT -s 183.13 ...
- [转]网络性能评估工具Iperf详解(可测丢包率)
原文链接:安全运维之:网络性能评估工具Iperf详解:http://os.51cto.com/art/201410/454889.htm 参考博文:http://linoxide.com/monito ...
- Python 第十三篇之一:前端页面 js和dome
一:JavaScript: JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的 ...
- 树莓派安装mysql
首先我想启用root用户,所以我先启用root用户: sudo passwd root 这里会提示输入两次密码,然后: sudo passwd --unlock root 这样就可以启动root登录, ...
- Android平台调用Web Service:演示样例
近期在学习Android,随着移动设备的流行,当软件走上商业化的道路,为了争夺市场,肯定须要支持Android的,所以開始接触了Android,只是仅仅了解皮毛就好,由于我们要做管理者嘛,懂点Andr ...
- OCP-1Z0-051-题目解析-第25题
25. You need to create a table with the following column specifications: 1. Employee ID (numeric da ...
- Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- Android--开发过程中使用到的长度单位
px:表示屏幕实际的像素. in:表示英寸. mm:毫米. pt:表示一个点,是屏幕的物理尺寸. dp:(与密度无关的像素)逻辑长度单位,在160dpi屏幕上,1dp = 1px = 1/160英寸 ...
- Home键的获取监听,安卓4.0后就不能在onkeydown方法中获取了。怎么办。
Android下得到Home键按下的消息 在Android下,并不能通过onKeyDown这样的事件来截获Home键的消息,其原因在Android的文档中已经明确的说过了 public stati ...
- (诊断)为GitHub添加SSH key时出现“Could not open a connection to your authentication agent”错误的应对方案(转)
在为windows 环境下的github账户添加SSH key时,需要在Git Bash执行如下命令: 第一步:检查已有的SSH keys $ ls -al ~/.ssh 第二步:生成新的SSH ke ...