在屏幕中通常会有默认的右键菜单,即在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参数传递文本项。