今天研究了一下ABAP中显示FLASH的实现方法,不小心成功了。
庆祝一下。
见效果:
实现代码为:
|
class my_flash_obj definition inheriting from CL_GUI_CONTROL. public section. methods: loadmovie importing url type c, play. endclass. class my_flash_obj implementation. method loadmovie. me->CALL_METHOD( EXPORTING METHOD = 'LoadMovie' p1 = 0 P2 = url P_COUNT = 2 ). endmethod. method play. me->CALL_METHOD( EXPORTING METHOD = 'Play' P_COUNT = 0 ). endmethod. endclass.
data:my_ctrl type ref to my_flash_obj, my_container type ref to cl_gui_custom_container. START-OF-SELECTION. CALL SCREEN '0100'. *&---------------------------------------------------------------------* *& Module STATUS_0100 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE STATUS_0100 OUTPUT. if my_container is initial. CREATE OBJECT MY_CONTAINER EXPORTING * PARENT = CONTAINER_NAME = 'MY_CTRL' * STYLE = * LIFETIME = lifetime_default * REPID = * DYNNR = * NO_AUTODEF_PROGID_DYNNR = EXCEPTIONS CNTL_ERROR = 1 CNTL_SYSTEM_ERROR = 2 CREATE_ERROR = 3 LIFETIME_ERROR = 4 LIFETIME_DYNPRO_DYNPRO_LINK = 5 others = 6 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. endif.
IF MY_CTRL IS INITIAL.
CREATE OBJECT MY_CTRL EXPORTING CLSID = 'ShockwaveFlash.ShockwaveFlash.10' * LIFETIME = lifetime_default * SHELLSTYLE = PARENT = MY_CONTAINER * AUTOALIGN = 'x' * LICENSEKEY = NAME = 'FLASH' EXCEPTIONS CNTL_ERROR = 1 CNTL_SYSTEM_ERROR = 2 CREATE_ERROR = 3 LIFETIME_ERROR = 4 PARENT_IS_SPLITTER = 5 others = 6 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ELSE. my_ctrl->LOADMOVIE( URL = 'file:///c:/xiguashuang300135_090909.swf' ).
my_ctrl->PLAY( ). ENDIF.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE USER_COMMAND_0100 INPUT. case sy-ucomm. when 'EXIT'. LEAVE PROGRAM. endcase. ENDMODULE. " USER_COMMAND_0100 INPUT
|