TYPES :TY_LOGOS的开始, NAME TYPE TEXT20, LOGO_CON TYPE REF到CL_GUI_CONTAINER, LOGO TYPE REF CL_GUI_PICTURE, PIC TYPE W3MIMETABTYPE, SIZE TYPE I, URL TYPE TEXT255 , TY_LOGOS的结尾, TY_LOGOS的TT_LOGOS类型标准表。
DATA:GO_CON TYPE REF到CL_GUI_CUSTOM_CONTAINER, GO_SPLIT类型REF到CL_GUI_SPLITTER_CONTAINS数据。 TYPE I, GV_COLUMNS TYPEI。
DATA:GT_LOGOS TYPE TT_LOGOS, GS_LOGOS TYPE TY_LOGOS。
嗨
将所有徽标显示为图片,并对每张图片显示事件处理技术。
使用多个拆分容器进行屏幕的单个自定义控件。
要显示图片,请使用CL_GUI_PICTURE类。
嗨
请参见下面的示例代码。
*&--------------------------------------------- ------------------------ *
*&报告ZDEMO2
。 br> ENDCLASS。
*&
*&--------------------------------- ------------------------------------ *
*&
*&
*&------------------------------------------------ --------------------- *
报告ZDEMO2。
TYPE-POOLS:CNTL。
TYPES :TY_LOGOS的开始,
NAME TYPE TEXT20,
LOGO_CON TYPE REF到CL_GUI_CONTAINER,
LOGO TYPE REF CL_GUI_PICTURE,
PIC TYPE W3MIMETABTYPE,
SIZE TYPE I,
URL TYPE TEXT255 ,
TY_LOGOS的结尾,
TY_LOGOS的TT_LOGOS类型标准表。
DATA:GO_CON TYPE REF到CL_GUI_CUSTOM_CONTAINER,
GO_SPLIT类型REF到CL_GUI_SPLITTER_CONTAINS数据。
TYPE I,
GV_COLUMNS TYPEI。
DATA:GT_LOGOS TYPE TT_LOGOS,
GS_LOGOS TYPE TY_LOGOS。
DATA:GV_PIC TYPE XSTRING。
DATA:GV_GRAPH_CONV 类型I,
GV_GRAPH_OFFS类型I。
DATA:GS_PIC类型W3MIME。
数据:GV_RES类型I。
数据 :GT_EVENTS类型CNTL_SIMPLE_EVENTS,
GS_EVENTS类型CNTL_SIMPLE_ 事件。
类别LCL_HPIC定义。
公共部分。
方法:HAND_PICTURE_DBLCLICK,用于CL_GUI_PICTURE
的事件PICTURE_DBLCLICK
,正在导入MOUSE_POS_X
MOUSE_POS_Y
CLASS LCL_HPIC实施。
方法HAND_PICTURE_DBLCLICK。
DATA:LS_LOGOS类型TY_LOGOS。
将表GT_LOGOS读取到带有键LOGO = SENDER的LS_LOGOS中。 br>
案例LS_LOGOS-名称。
何时"预订"。
留在屏幕上0.
何时"。
何时其他。
结束。.
ENDMETHOD。
ENDCLASS。
DATA:GO_HPIC类型参考LCL_HPIC。
开始选择。
创建对象GO_CON
导出
CONTAINER_NAME ='CON'
例外情况
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
其他=6。
CLEAR:GV_ROWS,GV_COLUMNS。
GV_ROWS = 1.
GV_COLUMNS = 2.
>创建对象GO_SPLIT
导出 G
父母= GO_CON
行= GV_ROWS
列= GV_COLUMNS
例外情况
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
其他= 3.
>清除GS_LOGOS。
GS_LOGOS-NAME ='BOOK'。
清除GV_PIC。
调用方法CL_SSF_XSF_UTILITIES => GET_BDS_GRAPHIC_AS_BMP
导出
P_OBJECT ='GRAPHICS'
P_NAME ='BOOK'
P_ID ='BMAP'
P_BTYPE ='BCOL'
接收
P_BMP = GV_PIC
例外情况
NOT_FOUND = 1
INTERNAL_ERROR = 2
>其他=3。
GS_LOGOS-SIZE = XSTRLEN(GV_PIC)。
GV_GRAPH_CONV = GS_LOGOS-SIZE。
GV_GRAPH_OFFS =0。
GV_GRAPH_CONV> 255。
CLEAR:GS_PIC。
GS_PIC-LINE = GV_PIC + GV_GRAPH_OFFS(255)。
将GS_PIC附加到GS_LOGOS-PIC。
GV_GRAPH_OFFS = GV_GRAPH_OFFS + 255.
GV_GRAPH_CONV = GV 255.
结束。
CLEAR:GS_PIC。
GS_PIC-LINE = GV_PIC + GV_GRAPH_OFFS(GV_GRAPH_CONV)。
将GS_PIC附加到GS_LOGOS-PIC。
通话功能'DP_CREATE_URL'
导出
类型='BMAP'
子类型='X-未知'
大小= GS_LOGOS-SIZE
寿命='T'
表格
数据= GS_LOGOS-PIC
更改
URL = GS_LOGOS-URL。
调用方法GO_SPLIT-> GET_CONTAINER
导出
行= 1
列= 1
接收
容器= GS_LOGOS-LOGO_CON。
创建对象GS_LOGOS-LOGO
导出
父对象= GS_LOGOS-LOGO_CON
例外
错误= 1
其他=2。
清除GS_EVENTS。
GS_EVENTS-EVENTID = CL_GUI_PICTURE => EVENTID_PICTURE_DBLCLICK。
将GS_EVENTS附加到GT_EVENTS。
调用方法GS_LOGOS-LOGO-> SET_register_EVENTS
出口 事件= GT_EVENTS
例外情况
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
ILLEGAL_EVENT_COMBINATION = 3
其他= 4.
创建对象GO_HPIC。
设置处理程序GO_HPIC-> HAND_PICTURE_DBLCLICK以获取所有实例。
调用方法GS_LOGOS-LOGO-> SET_DISPLAY_MODE
导出
DISPLAY_MODE = CL_GUI _PICTURE => DISPLAY_MODE_NORMAL_CENTER。
清除GV_RES。
调用方法GS_LOGOS-LOGO-> LOAD_PICTURE_FROM_URL
导出
URL = GS_LOGOS-URL
导入
结果= GV_RES 。
调用方法CL_GUI_CFW => FLUSH。
将GS_LOGOS附加到GT_LOGOS。
IF 1 =4。
ENDIF。
结束选择。
呼叫屏幕100。
一周热门 更多>