CFW_DEMO 屏幕上添加 图片、按钮、文本编辑、HTML

本DEMO程序参考了部分系统标准DEMO功能,在PBO的module中可看到相关程序。

相关类和方法的说明资料在下面的链接中可以看到

http://help.sap.com/saphelp_nw73/helpdata/en/4d/78622691c1262ae10000000a42189b/content.htm?frameset=/en/49/17345ea2e314d3e10000000a42189b/frameset.htm&current_toc=/en/e8/87b8200b8c4915bdd2c89ef55caedb/plain.htm&node_id=236&show_children=false

点击打开链接

1.屏幕按钮

2.源码

REPORT y_lyh_test_013.

TYPE-POOLS: abap,cntl.

DATA: gcl_picture  TYPE REF TO cl_gui_picture,
      gcl_textedit TYPE REF TO cl_gui_textedit,
      gcl_toolbar  TYPE REF TO cl_gui_toolbar,
      gcl_html     TYPE REF TO cl_gui_html_viewer,
      gcl_tree     TYPE REF TO cl_gui_simple_tree.

DATA: gcl_ctmenu  TYPE REF TO cl_ctmenu.

DATA: gcl_container        TYPE REF TO cl_gui_container,
      gcl_custom_container TYPE REF TO cl_gui_custom_container,
      gcl_splitter         TYPE REF TO cl_gui_splitter_container.

DATA: gv_url(255) TYPE c,
      gv_dynnr    TYPE sy-dynnr.

DATA: lt_button  TYPE ttb_button,
      ls_button  TYPE stb_button,
      lt_ctxmenu TYPE ttb_btnmnu,
      ls_ctxmenu TYPE stb_btnmnu.

DATA: lt_events TYPE cntl_simple_events,
      ls_events TYPE cntl_simple_event.
DATA: gt_text(10) TYPE c OCCURS 0.


DATA: lv_edframe(255),
      lv_edaction(256),
      lv_edgetdata(2048),
      lv_edpostdataline(1024).

DATA: lt_postdata_tab  TYPE cnht_post_data_tab,
      lt_edquery_table TYPE cnht_query_table.

* necessary to flush the automation queue
CLASS cl_gui_cfw DEFINITION LOAD.

** CLASS EVENT HANDLE
CLASS lcl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS event_handler
         FOR EVENT picture_click OF cl_gui_picture.

    METHODS event_handler_menu
         FOR EVENT context_menu OF cl_gui_picture.

    METHODS event_handler_menuselected
                  FOR EVENT context_menu_selected OF cl_gui_picture
      IMPORTING fcode.

    METHODS: on_sapevent
                  FOR EVENT sapevent OF cl_gui_html_viewer
      IMPORTING action frame getdata postdata query_table.
ENDCLASS.

CLASS lcl_event_receiver IMPLEMENTATION.

  METHOD event_handler.
    MESSAGE 'This is picture click' TYPE 'I' .
  ENDMETHOD.

  METHOD event_handler_menu.
    CREATE OBJECT gcl_ctmenu.

    CALL METHOD gcl_ctmenu->load_gui_status
      EXPORTING
        program    = 'RSDEMO_PICTURE_CONTROL'
        status     = 'CONTEXT'
        menu       = gcl_ctmenu
      EXCEPTIONS
        read_error = 1.

    CALL METHOD gcl_picture->display_context_menu
      EXPORTING
        context_menu = gcl_ctmenu
      EXCEPTIONS
        error        = 1.
  ENDMETHOD.


  METHOD event_handler_menuselected.

    MESSAGE i300(eu) WITH fcode.

  ENDMETHOD.

  METHOD on_sapevent.

    CLEAR: lv_edaction,
           lv_edframe,
           lv_edgetdata,
           lv_edpostdataline.

    lv_edaction       = action.
    lv_edframe        = frame.
    lv_edgetdata      = getdata.
    lt_postdata_tab   = postdata.
    IF NOT lt_postdata_tab IS INITIAL.
      READ TABLE lt_postdata_tab INDEX 1 INTO lv_edpostdataline.
    ENDIF.
    lt_edquery_table  = query_table.

    CASE action.
      WHEN 'SHOW_FRAMESET'.
        PERFORM load_frame_set.
      WHEN OTHERS.
    ENDCASE.
  ENDMETHOD.

ENDCLASS.

DATA lcl_event_receiver TYPE REF TO lcl_event_receiver.


CLASS lcl_toolbar_events DEFINITION.

* Here, you define instance methods or
* static methods to handle the events
* of the toolbar.
  PUBLIC SECTION.
    CLASS-METHODS: on_function_selected
                  FOR EVENT function_selected OF cl_gui_toolbar
      IMPORTING fcode.

ENDCLASS.

CLASS lcl_toolbar_events IMPLEMENTATION.
  METHOD on_function_selected.

* Implementation of the method. It has the parameter
* FCODE that you can use to work out which function was
* chosen
    CASE fcode.
      WHEN 'BACK'.
        gcl_toolbar->free(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值