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