二维码

abap实现屏幕上显示logo图片

Twilight发表于 2015-01-09 10:40Twilight 最后回复于 2015-01-09 10:40 [复制链接] 4646 0

1、se38新建程序
  1. * Type declarations.....................
  2. TYPES pict_line(256) TYPE c.
  3. * data declarations......................
  4. DATA :init,
  5.       container TYPE REF TO cl_gui_custom_container,
  6.       editor    TYPE REF TO cl_gui_textedit,
  7.       picture   TYPE REF TO cl_gui_picture,
  8.       pict_tab TYPE TABLE OF pict_line,
  9.       url(255) TYPE c.

  10. START-OF-SELECTION .
  11.   CALL SCREEN 100.

  12. * Dialog modules......................................
  13. MODULE status_0100 OUTPUT.
  14.   SET PF-STATUS 'SCREEN100'.
  15.   IF init IS INITIAL.
  16.     init = 'X'.
  17.     CREATE OBJECT:
  18.            container  EXPORTING container_name = 'PICTURE_CONTAINER',
  19.            picture    EXPORTING parent = container.
  20.   ENDIF.

  21.   IMPORT pict_tab = pict_tab FROM DATABASE abtree(pi) ID 'ENJOY'.

  22.   CALL FUNCTION 'DP_CREATE_URL'
  23.     EXPORTING
  24.       type    = 'IMAGE'
  25.       subtype = 'GIF'
  26.     TABLES
  27.       data    = pict_tab
  28.     CHANGING
  29.       url     = url.

  30.   CALL METHOD picture->load_picture_from_url
  31.     EXPORTING
  32.       url = url.

  33.   CALL METHOD picture->set_display_mode
  34.     EXPORTING
  35.       display_mode = picture->display_mode_fit_center.
  36. ENDMODULE.                    "status_0100 OUTPUT
复制代码

2、创建标准屏幕100
layout 绘制customer container,并命名PICTURE_CONTAINER
逻辑流:
  1. PROCESS BEFORE OUTPUT.
  2.   MODULE STATUS_0100.
  3. *
  4. PROCESS AFTER INPUT.
  5. *  MODULE USER_COMMAND_0100.
复制代码

3、执行程序效果:
Logo.jpg
PS:上传logo图片,T-code:se78
  1. CALL METHOD pic->set_display_mode
  2.     EXPORTING
  3.       display_mode = 0 .
复制代码

设置显示模式, mode 可取值:
  • 0:原始大小显示   
  • 1:图片自动调整大小显示   
  • 2:纵向拉伸,局左显示   
  • 3: 原始大小,居中显示  
  • 4:纵向拉伸,居中显示
  • load的时候默认的是原始大小
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表