发博文
Sap.Felix

abaptiner.blog.chinaunix.net

   
个人资料
  • 博客访问:13925
  • 博文数量:13
  • 博客积分:1455
  • 博客等级:上尉
  • 注册时间:2009-09-03 12:48:29
订阅我的博客
  • 订阅
  • 订阅到鲜果
  • 订阅到抓虾
  • 订阅到Google
字体大小: 博文
ABAP中显示FLASH (2009-09-22 17:49)
分类: OLE


今天研究了一下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

亲,您还没有登录,请[登录][注册]后再进行评论