在屏幕中通常会有默认的右键菜单,即在GUI Status中定义的具有Function_Code 的功能会放置在默认的功能能菜单中,除此之外,我们还可以自定义右键菜单连接到屏幕元素或屏幕区域中。
方法如下,在screen painter中拖放元素到屏幕中,设置其ON_CTMENU属性为<name>,然后在屏幕程序中放置一子程序:on_ctmenu_<name>,其有一个对cl_ctmenu对象的一个引用参数,我们可以理解成一个cl_ctmenu对象即为一个具体的右键菜单,添加右键菜单项时需指定名称和功能码,则点击右键菜单则会触发屏幕的PAI事件,代码如下:
FORM on_ctmenu_context USING menu TYPE REF TO cl_ctmenu.
CALL METHOD menu->add_function
EXPORTING
fcode = 'disp'
text = 'Display All'.
CALL METHOD menu->add_function
EXPORTING
fcode = 'clar'
text = 'Clear All'.
ENDFORM. "on_ctmenu_context
fcode参数传递功能码,text参数传递文本项。