data:
it_events type cntl_simple_events, " 事件内表
wa_events like line of it_events. " 工作区
定义类
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
on_picture_click FOR EVENT picture_click OF cl_gui_picture
IMPORTING mouse_pos_x mouse_pos_y,
on_control_dblclick
FOR EVENT control_dblclick OF cl_gui_picture
IMPORTING mouse_pos_x mouse_pos_y.
ENDCLASS. "lcl_event_handler DEFINITION
CLASS lcl_event_handler IMPLEMENTATION.
METHOD on_picture_click.
MESSAGE i016(bc412) WITH '点我者猪'.
ENDMETHOD. "on_picture_click
METHOD on_control_dblclick.
MESSAGE i016(bc412) WITH mouse_pos_x mouse_pos_y.
ENDMETHOD. "on_control_dblclick
ENDCLASS. "lcl_event_handler IMPLEMETATION
* 1. 注册事件
wa_events-eventid = cl_gui_picture=>eventid_picture_click.
wa_events-appl_event = ' '.
INSERT wa_events INTO TABLE it_events.
wa_events-eventid = cl_gui_picture=>eventid_control_dblclick.
wa_events-appl_event = ' '.
INSERT wa_events INTO TABLE it_events.
CALL METHOD my_picture->set_registered_events
EXPORTING
events = it_events
EXCEPTIONS
OTHERS = 1.
* 2. 触发事件
SET HANDLER lcl_event_handler=>on_picture_click FOR my_picture.