通过定制控制在屏幕上显示图片
1、图片上载
图片的上载是在事务代码SWM0中操作的。
输入包slis进去,然后新建一个对象,尚在成功后相关的数据在数据表WWWDATA中存储,可以通过对象名称查找出来
2、创建屏幕100在屏幕上加上定制控制对象元素P1。
3.代码实现:
*&---------------------------------------------------------------------*
*& Report YTEST019
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ytest019.
DATA:ok_code TYPE sy-ucomm,
save_ok TYPE sy-ucomm.
*定义控制和图片对象定义
DATA container TYPE REF TO cl_gui_custom_container.
DATA picture TYPE REF TO cl_gui_picture.
*初始标识字段定义
DATA init.
*直接调用窗口
CALL SCREEN 100.
INCLUDE ytest019_exiti01.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
save_ok = ok_code.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
*如果还未创建定制对象
IF init IS INITIAL.
DATA url(255).
CLEAR url.
CREATE OBJECT container
EXPORTING
container_name = 'P1'.
CREATE OBJECT picture
EXPORTING
parent = container
EXCEPTIONS
error = 1.
IF sy-subrc NE 0.
ENDIF.
*定义通过函数取得图片地址
PERFORM load_pic_from_db CHANGING url.
* 显示图片
CALL METHOD picture->load_picture_from_url
EXPORTING
url = url.
IF sy-subrc NE 0.
ENDIF.
*置标识位置已初始
init = 'X'.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Form LOAD_PIC_FROM_DB
*&---------------------------------------------------------------------*
FORM load_pic_from_db CHANGING p_url.
DATA query_table LIKE w3query OCCURS 1 WITH HEADER LINE.
DATA html_table LIKE w3html OCCURS 1.
DATA return_code LIKE w3param-ret_code.
DATA content_type LIKE w3param-cont_type.
DATA content_length LIKE w3param-cont_len.
DATA pic_data LIKE w3mime OCCURS 0.
DATA pic_size TYPE i.
REFRESH query_table.
*查询数据对象
query_table-name = '_OBJECT_ID'.
*查询对象名称
query_table-value = 'TESTPICS'.
APPEND query_table.
*读取表WWWDATA,取出图片对象信息
CALL FUNCTION 'WWW_GET_MIME_OBJECT'
TABLES
query_string = query_table
html = html_table
mime = pic_data
CHANGING
return_code = return_code
content_type = content_type
content_length = content_length
EXCEPTIONS
object_not_found = 1
parameter_not_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
pic_size = content_length.
ENDIF.
* 创建图片URL地址
CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type = 'image'
subtype = cndp_sap_tab_unknown
size = pic_size
* DATE =
* TIME =
* DESCRIPTION =
lifetime = cndp_lifetime_transaction
* CACHEABLE =
* SEND_DATA_AS_STRING =
* FIELDS_FROM_APP =
TABLES
data = pic_data
* FIELDS =
* PROPERTIES =
* COLUMNS_TO_STRETCH =
CHANGING
url = url
EXCEPTIONS
* DP_INVALID_PARAMETER = 1
* DP_ERROR_PUT_TABLE = 2
* DP_ERROR_GENERAL = 3
others = 1
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM. " LOAD_PIC_FROM_DB
转载于:https://www.cnblogs.com/caizjian/p/3332733.html
通过定制控制在屏幕上显示图片相关推荐
- 计算机游戏中屏幕上显示的,电脑在玩全屏游戏的时候显示屏老是出现无信号
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:电脑在玩全屏游戏的时候显示屏老是出现无信号 问题详情:我在玩CF的时候 每次进入游戏 显示屏突然出现无信号 好几次了推荐回答:这样的 ...
- 汇编--在屏幕上显示彩色字体
汇编--在屏幕上显示彩色字体 学习汇编学了已经半个学期了,总感觉自己学的不扎实,语言这种东西,我感觉要想学的好必须多实践.在实践中才能更扎实的掌握知识,不然学了一本书,到头来什么事都干不了.课本上有给 ...
- 屏幕上锁定图片_如何在Windows 8锁定屏幕上自定义时间
屏幕上锁定图片 If you are running Windows 8, hit the Windows key and L at the same time. What do you see? I ...
- stm32f103利用HC06进行蓝牙通信,在7针的OLED屏幕上显示,带数据更新功能(带超详细讲解)
stm32f103利用HC06进行蓝牙通信,在7针的OLED屏幕上显示,带数据更新功能(带超详细讲解) 首先看看效果吧 手机端发送一个数据在OLED屏幕上显示 其实蓝牙通信就是个蓝牙转串口的过程,手机 ...
- ArchieOpenGL教程第11课:使用位图字体 在屏幕上显示字体
第十一课A 源代码 图像字体A: 这一课我们将创建一些基于2D图像的字体,它们可以缩放,但不能旋转,并且总是面向前方,但作为基本的显示来说,我想已经够了. 使用位图字体比起使用图形字体(贴图)看起来不 ...
- 换屏后sim卡显示无服务器,话机屏幕上显示“插入SIM卡”、“SIM卡无效”、“请插入UIM卡”,“无法获得网络服务”或“紧急呼叫”...
**问题现象:** 插入SIM卡后,话机屏幕上显示"插入SIM卡"."SIM卡无效"."请插入UIM卡","无法获得网络服务&qu ...
- 使用U8G2在oled屏幕上显示胡桃摇动画
使用U8G2在oled屏幕上显示胡桃摇动画 目录 使用U8G2在oled屏幕上显示胡桃摇动画 概述 图像处理 为什么要处理? 导入opencv 分解gif 灰度化 裁剪大小和缩放 裁剪 缩放 二值化前 ...
- 用单片机在屏幕上显示字库中的汉字
在屏幕上显示字库中汉字 显示原理 字体模型 1.取模 2.字库 显示函数的实现 1.首先实现点亮一个点 2.以汉字12 * 12,字符6 * 12为例写的驱动函数 3.显示函数(集成到一个函数中) 总 ...
- c语言在屏幕上显示字母,C语言在屏幕上的显示内容
C语言是一门通用计算机编程语言,那么大家知道C语言在屏幕上的显示内容是什么呢?下面一起来看看! 我们有两种方式从计算机获得信息:一是看屏幕上的文字.图片.视频等,二是听从喇叭发出来的声音. 让喇叭发出 ...
- 用c语言让屏幕显示字体,C语言在屏幕上显示内容
C语言在屏幕上显示内容 如何使用C语言在屏幕上显示内容呢?下面百分网小编就给大家讲解一下,希望对您有所帮助! 我们有两种方式从计算机获得信息:一是看屏幕上的文字.图片.视频等,二是听从喇叭发出来的声音 ...
最新文章
- [Swift]LeetCode206. 反转链表 | Reverse Linked List
- python互相转换位置坐标(百度坐标、WGS_84、火星坐标)
- 【Python教程】装饰器的使用及固定模式
- 怎样从red hat linux图形登录改成从文本登录
- url中找出IP地址
- BetterZip使用教程:Mac用户如何提取压缩文件?
- 那些年面过的坑,都在这里了~
- 几点忠告送给在科研道路艰难跋涉的自己
- python复数类型及其特点和分布地区_各种气候类型及其特点、分布规律、主要分布地区、数值特征...
- 利用word2007插入参考文献
- 无线路由器服务器连接线,无线路由器连接有线路由器怎么设置?
- Python网络爬虫与信息提取——网络爬虫Scrapy框架
- dispatch_once造成的死锁问题
- 【昊鼎王五】pip安装pymssql模块时报错“PEP 517”怎么解决?
- 11.Django基础九之中间件
- 算法比赛经历--蓝桥杯,天梯赛,力扣,牛客,cf,acwing,acm
- 【推荐】国外破解网址大全
- 安装mysql时默认分配的端口是_安装 MySQL时默认端口号是:_学小易找答案
- 【工具】Datax的基本概念(初识ETL工具)
- 给以太坊打了一针强心剂,DeFi能跑出区块链杀手级应用吗?
热门文章
- GBin1教程:使用jQuery插件jquery.validationEngine实现表单验证功能
- NYOJ水题--最短街区问题
- 如何在 Mac 上使用预览将 .pdf 文件更改为 .jpg 文件
- Magoshare Data Recovery使用教程:在mac上恢复找回删除的丢失文件
- iOS底层探索之多线程(十一)—GCD源码分析(调度组)
- 微信小程序版本自动更新弹窗提示
- Django 1.8.2 文档 1
- python中的json模块
- cookie、session、localStorage、sessionStorage区别
- 值得关注:Ubuntu 14.04服务器版提供了虚拟化、自动化、存储相关更新