SAP Control framework–CL_CTMENU

引用:翱翔云天

1.1 CL_CTMENU

1.1.1 定义

这个就是右键菜单了,可以分成两种,一种是静态的,一种是动态创建的。

静态的就是在程序中已经预先定义,也就是通过se41菜单编辑器定义的

动态的是指在程序中,对某一个控件使用时,再定义

1.1.2 属性

主要有两个静态变量

LOAD_OBJECTS

types:

begin of l_objects,

program type program, “程序名

status type gui_status, “status

reference type ref to cl_ctmenu_load, “参照status

end of l_objects .

LOAD_OBJECTS TYPE standard table of l_objects .

SOURCE_OBJECTS

BEGIN OF S_OBJECTS,

PROGRAM TYPE PROGRAM,

REFERENCE TYPE REF TO CL_CTMENU_SOURCE,

END OF S_OBJECTS .

SOURCE_OBJECTS TYPE standard table of S_OBJECTS.

1.1.3 方法

LOAD_GUI_STATUS 使用一个预先定义的status

PROGRAM Program name

STATUS Status

DISABLE Inactive functions

MENU Menu Reference

说明:这个方法非常常用,主要是可以动态的指定你想使用的status,它可以存在于其他的程序中,当然也可以使用其他程序中已经定义好的CL_CTMENU的status.

ADD_FUNCTION 添加function

FCODE Function code

TEXT Function text

ICON Icons

FTYPE Functional type

DISABLED Inactive

HIDDEN Invisible

CHECKED Selected

说明:这个就是最基本的方法了,当你使用context menu的时候,总归要定义function code,那么就一定要使用这个方法了。

ADD_MENU 添加一个菜单项

MENU Menu to be Added

说明:添加一个菜单,注意这个传入参数MENU的类型是CL_CTMENU,也就是你已经定义了一个context mune,然后把这个context menu添加到新定义的context menu中。

ADD_SUBMENU 添加一个子菜单项

MENU Submenu

TEXT Text

ICON Icon String

DISABLED Inactive

HIDDEN Invisible

ADD_SEPARATOR 添加一个分隔

HIDE_FUNCTIONS/ SHOW_FUNCTIONS 隐藏/显示function

FCODES Function code

DISABLE_FUNCTIONS/ ENABLE_FUNCTIONS 禁用/启用function

FCODES Function code

MODIFY_FUNCTION_TEXT 修改function的显示文本

FCODE Function code

TEXT Function text

GET_FUNCTIONS 取得所有的function

FCODES UI_FUNCATTR Function List

原文地址:https://www.cnblogs.com/wequst/p/1513331.html