在ABAP屏幕容器中显示图片用到的类是“CL_GUI_PICTURE”,下面则以一个简单的小例子说明其用法,个人学习收藏使用,不代表任何意义。

【效果图】

【样例代码】

REPORT ZABAP_SCREEN01.DATA  URL(132).
TYPE-POOLS CNDP.
* custom container
DATA CON1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
DATA CON2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
DATA CON3 TYPE REF TO CL_GUI_CUSTOM_CONTAINER.* picture Control.
DATA PICTURE1 TYPE REF TO CL_GUI_PICTURE.
DATA PICTURE2 TYPE REF TO CL_GUI_PICTURE.
DATA PICTURE3 TYPE REF TO CL_GUI_PICTURE.* Definition of Control Framework
CLASS CL_GUI_CFW DEFINITION LOAD.* Ps count
DATA PS1 TYPE I.
DATA PS2 TYPE I.
DATA PS3 TYPE I.
DATA ZNAM TYPE CHAR20.DATA  INIT.
DATA OK_CODE TYPE SY-UCOMM.CALL SCREEN 100.
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.SET PF-STATUS 'STATUS_0100'.SET TITLEBAR 'STATUS_0100'.ZNAM = SY-UNAME.IF INIT IS INITIAL.
* create the custom containerCREATE OBJECT CON1EXPORTINGCONTAINER_NAME = 'CON1'.CREATE OBJECT CON2EXPORTINGCONTAINER_NAME = 'CON2'.CREATE OBJECT CON3EXPORTINGCONTAINER_NAME = 'CON3'.
* create the picture controlCREATE OBJECT PICTURE1EXPORTINGPARENT = CON1.CREATE OBJECT PICTURE2EXPORTINGPARENT = CON2.CREATE OBJECT PICTURE3EXPORTINGPARENT = CON3.* Request an URL from the data provider by exporting the pic_data.CLEAR URL.PERFORM LOAD_PIC_FROM_DB USING 'ZHZ' CHANGING URL .
* load picture"设置图片自适应CALL METHOD PICTURE1->SET_DISPLAY_MODEEXPORTINGDISPLAY_MODE = CL_GUI_PICTURE=>ADUST_DESIGN_TRUEEXCEPTIONSERROR        = 1OTHERS       = 2."设置边框CALL METHOD PICTURE1->SET_3D_BORDEREXPORTINGBORDER = 1EXCEPTIONSERROR  = 1OTHERS = 2.CALL METHOD PICTURE1->LOAD_PICTURE_FROM_URLEXPORTINGURL = URL.INIT = 'X'.* Request an URL from the data provider by exporting the pic_data.CLEAR URL.PERFORM LOAD_PIC_FROM_DB USING 'ZWJD' CHANGING URL .
* load picture"设置图片自适应CALL METHOD PICTURE2->SET_DISPLAY_MODEEXPORTINGDISPLAY_MODE = CL_GUI_PICTURE=>ADUST_DESIGN_TRUEEXCEPTIONSERROR        = 1OTHERS       = 2."设置边框CALL METHOD PICTURE2->SET_3D_BORDEREXPORTINGBORDER = 1EXCEPTIONSERROR  = 1OTHERS = 2.CALL METHOD PICTURE2->LOAD_PICTURE_FROM_URLEXPORTINGURL = URL.INIT = 'X'.* Request an URL from the data provider by exporting the pic_data.CLEAR URL.PERFORM LOAD_PIC_FROM_DB USING 'ZCDZJ' CHANGING URL .
* load picture"设置图片自适应CALL METHOD PICTURE3->SET_DISPLAY_MODEEXPORTINGDISPLAY_MODE = CL_GUI_PICTURE=>ADUST_DESIGN_TRUEEXCEPTIONSERROR        = 1OTHERS       = 2."设置边框CALL METHOD PICTURE3->SET_3D_BORDEREXPORTINGBORDER = 1EXCEPTIONSERROR  = 1OTHERS = 2.CALL METHOD PICTURE3->LOAD_PICTURE_FROM_URLEXPORTINGURL = URL.INIT = 'X'.CALL METHOD CL_GUI_CFW=>FLUSHEXCEPTIONSCNTL_SYSTEM_ERROR = 1CNTL_ERROR        = 2.IF SY-SUBRC <> 0.
* error handlingENDIF.ENDIF.
ENDMODULE.
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.CASE OK_CODE .WHEN 'BACK' OR 'EXIT'.LEAVE TO SCREEN 0.WHEN 'CANCEL'.LEAVE PROGRAM.WHEN 'XH1'.PS1 = PS1 + 1.WHEN 'XH2'.PS2 = PS2 + 1.WHEN 'XH3'.PS3 = PS3 + 1.ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&      Module  EXIT  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE EXIT INPUT.CALL METHOD PICTURE1->FREE.CALL METHOD PICTURE2->FREE.CALL METHOD PICTURE3->FREE.CALL METHOD CON1->FREE.CALL METHOD CON2->FREE.CALL METHOD CON3->FREE.FREE PICTURE1.FREE PICTURE2.FREE PICTURE3.FREE CON1. FREE CON2. FREE CON3.LEAVE PROGRAM.
ENDMODULE.                             " EXIT  INPUT*&---------------------------------------------------------------------*
*&      Form  LOAD_PIC_FROM_DB
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_URL  text
*----------------------------------------------------------------------*
FORM LOAD_PIC_FROM_DB  USING NAME CHANGING URL.DATA: GRAPHIC_SIZE TYPE I.DATA: BEGIN OF GRAPHIC_TABLE OCCURS 0,LINE(255) TYPE X,END OF GRAPHIC_TABLE.DATA: L_GRAPHIC_XSTR TYPE XSTRING,L_GRAPHIC_CONV TYPE I,L_GRAPHIC_OFFS TYPE I.CALL METHOD CL_SSF_XSF_UTILITIES=>GET_BDS_GRAPHIC_AS_BMPEXPORTINGP_OBJECT  = 'GRAPHICS'P_NAME    = NAMEP_ID      = 'BMAP'P_BTYPE   = 'BCOL'  "(BMON = black&white, BCOL = colour)RECEIVINGP_BMP     = L_GRAPHIC_XSTREXCEPTIONSNOT_FOUND = 1OTHERS    = 2.GRAPHIC_SIZE = XSTRLEN( L_GRAPHIC_XSTR ).CHECK GRAPHIC_SIZE > 0.L_GRAPHIC_CONV = GRAPHIC_SIZE.L_GRAPHIC_OFFS = 0.WHILE L_GRAPHIC_CONV > 255.GRAPHIC_TABLE-LINE = L_GRAPHIC_XSTR+L_GRAPHIC_OFFS(255).APPEND GRAPHIC_TABLE.L_GRAPHIC_OFFS = L_GRAPHIC_OFFS + 255.L_GRAPHIC_CONV = L_GRAPHIC_CONV - 255.ENDWHILE.GRAPHIC_TABLE-LINE = L_GRAPHIC_XSTR+L_GRAPHIC_OFFS(L_GRAPHIC_CONV).APPEND GRAPHIC_TABLE.CALL FUNCTION 'DP_CREATE_URL'EXPORTINGTYPE                 = 'image'               "#EC NOTEXTSUBTYPE              = CNDP_SAP_TAB_UNKNOWN " 'X-UNKNOWN'SIZE                 = GRAPHIC_SIZELIFETIME             = CNDP_LIFETIME_TRANSACTION  "'T'TABLESDATA                 = GRAPHIC_TABLECHANGINGURL                  = URLEXCEPTIONSDP_INVALID_PARAMETER = 1DP_ERROR_PUT_TABLE   = 2DP_ERROR_GENERAL     = 3OTHERS               = 4.IF SY-SUBRC <> 0.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.ENDFORM.

这里主要用到了其几个方法:

设置图片自适应
    CALL METHOD PICTURE1->SET_DISPLAY_MODE
      EXPORTING
        DISPLAY_MODE = CL_GUI_PICTURE=>ADUST_DESIGN_TRUE
      EXCEPTIONS
        ERROR        = 1
        OTHERS       = 2.
设置边框
    CALL METHOD PICTURE1->SET_3D_BORDER
      EXPORTING
        BORDER = 1
      EXCEPTIONS
        ERROR  = 1
        OTHERS = 2.
显示图片
    CALL METHOD PICTURE1->LOAD_PICTURE_FROM_URL
      EXPORTING
        URL = URL.

【ABAP】 屏幕图片显示Demo相关推荐

  1. ABAP屏幕上显示LIST的三种方法

    屏幕上显示LIST的三种方法 在abap开发中,经常有用户提出list的需求,实现的方法很多,通常用的有以下三种总结一下供大家参考: 1:手工添加-就是根据需要把LIST要显示的内容一条一条加到LIS ...

  2. 如何在python中显示电脑中的图片-python如何实现多个图片显示在屏幕上?

    pygame的三个方法(屏幕上显示需要的图片) yuhu102319582018-12-16 python将多幅图片显示在一张图片上 wugui1111116282018-06-15 iOS 图片显示 ...

  3. HTML5如何实现img标签中的图片根据屏幕大小显示相应部分的内容,并保证核心内容可见

    实现以下效果: 有一张较大的图片,希望其在大屏幕上全屏显示,在小屏幕上显示中间核心部分的内容,根据屏幕大小自动调整显示效果. 实现方法: 样式部分 .container {overflow: hidd ...

  4. H5不同屏幕大小显示不同的文字大小图片大小

    H5不同屏幕大小显示不同的文字大小图片大小 原理:识别屏幕宽度,利用JS的判断进行分配不同的尺寸 文字大小(HTML部分) <div id="size">大小文字< ...

  5. QT+高德地图Web服务API开发—静态地图开发Demo。QT组件提升、QT鼠标事件处理、Qt图片显示与移动、QT网络操作

    说明 在本次项目中,我们使用QT开发框架,高德地图Web服务地图API,完成一个项目Demo,进行一次对QT.对编程的学习. 本系类文章所包含内容包括: 1.QT组件提升 2.QT鼠标事件处理 3.Q ...

  6. 粤嵌gec6818LED屏幕上画图 太极图 图片显示 电子相册 2048小游戏 实现识别触摸坐标的识别 电子自助点餐设计等项目

    交叉开发     在一个有编辑/编译功能的PC机上进行编辑/编译,生成的可执行文件通过     交叉开发工具下载到目标机(GEC-6818)          开发板 --- Linux内核 --- ...

  7. 第十六届全国大学生智能汽车竞赛总决赛 AI视觉组线上赛图片显示软件发布及线上赛注意事项

    简 介: 本文对于第十六届全国大学生智能车竞赛视觉AI组线上比赛的识别任务软件以及相关比赛流程注意事项进行总结. 关键词: 智能车竞赛,视觉AI组 §01 积分分值   根据 第十六届全国大学生智能车 ...

  8. Android下Opengl ES实现单屏幕双眼显示

    http://blog.csdn.net/u011371324/article/details/68946779 默认情况下,Opengl ES使用系统提供的帧缓冲区作为绘图表面,一般情况下,如果只在 ...

  9. 如何提高网页中图片显示的用户体验(附源码下载)

    文章中加入适量的图片不仅可以更好的说明和补充文章的内容,而且还可以极大的减缓阅读者在阅读较长篇幅文章时的疲劳和不安.所以图文混排较好的文章能给阅读者更好的用户体验和享受.但是令人遗憾的是很多的网页图片 ...

最新文章

  1. SAP SD基础知识之信用控制范围
  2. 7张图了解2018物联网产业发展新趋势
  3. UICollectionView的使用
  4. Maximum Allowed Error 7 错误解决
  5. java 乐观锁 实例_JAVA乐观锁实现-CAS(示例代码)
  6. ffmpeg 视频转ts切片 生成m3u8视频播放列表
  7. 3 年 Java 应该具备的技能体系
  8. 什么是初效过滤器_初效过滤器怎么样 初效过滤器特点介绍【详解】
  9. React开发(216):ant dedign 弹窗销毁后再打开,原来的值仍存在,如何销毁弹窗内容?
  10. Linux eBPF:bcc 用法和原理初探之 kprobes 注入
  11. 阿里云ECS服务器CentOS7上用户管理操作
  12. arcgis构建金字塔失败什么原因_天猫入驻为什么失败?知舟集团给出失败原因和解决办法...
  13. EasyUI Easyloader 加载器
  14. ftp服务器、文件夹中带点文件删除方法
  15. 计算机原理考研题库,东北大学计算机组成原理题库(9)
  16. VirtualBox安装Windows XP图文教程
  17. 哪个大佬有c#三层架构写的餐饮管理系统源代码
  18. pixhawk源码下载与编译
  19. CentOS 7.2设置中英文环境
  20. SpringBoot热部署--bunny0728

热门文章

  1. Oracle中的Union、Union All、Intersect、Minus
  2. .NET软件开发, 你应该知道 (整)
  3. 产品管理必修课:发布新版本不等于改进产品
  4. [译] RxJava JDBC 简介
  5. 直升机和固定翼实操期末考试
  6. 转:如何提高自己的归纳总结能力?
  7. RAID技术详细解答之一:入门基础篇
  8. 金融领域下的数据挖掘算法应用:XGboost模型
  9. Java8-5-Function函数式接口进阶与默认方法详解
  10. Linux学习记录-----《快乐的Linux命令行》.