引用:翱翔雲天
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