导航

选择屏幕按钮、ICON、CALL SELECTION-SCREEN

Posted on 2010-07-21 12:38  Hahappyppy  阅读(483)  评论(0编辑  收藏  举报
 

请问 在selection screen里面,的push button , 怎么加入icon ?

 

   

请问一下screen里的push button, 可不可以在程序运行的时候 动态的决定button的 Icon

SELECTION-SCREEN里面的Button改Icon方法如下程序.包括捕获事件以及如何做弹出方式的Screen(CALL SELECTION-SCREEN).
在Screen里面添加的Button,见:http://blog.chinaunix.net/u1/40527/showart_1097110.html.

REPORT z_barry_button_test4 .

TABLES: spfli,sscrfields.

SELECTION-SCREEN FUNCTION KEY 1."工具栏按钮,最多5个
SELECTION-SCREEN FUNCTION KEY 2.

SELECT-OPTIONS sel0 FOR sy-tabix.
PARAMETERS par0(5).
*SELECTION-SCREEN SKIP.
SELECTION-SCREEN PUSHBUTTON 46(12) p_butt1 USER-COMMAND pb01.

SELECTION-SCREEN BEGIN OF SCREEN 123 AS WINDOW TITLE text-456.
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-bl1
                                    NO INTERVALS.
SELECT-OPTIONS sel1 FOR sy-subrc.
PARAMETERS     par1 LIKE spfli-carrid.
SELECTION-SCREEN COMMENT /10(20) text-com.
SELECTION-SCREEN END OF BLOCK bl1.
SELECTION-SCREEN END OF SCREEN 123.

SELECTION-SCREEN ULINE.

SELECTION-SCREEN BEGIN OF SCREEN 99.
SELECTION-SCREEN PUSHBUTTON 15(25) p_butt USER-COMMAND us01.
SELECT-OPTIONS sel2 FOR spfli-connid.
PARAMETERS     par2 TYPE i.
SELECTION-SCREEN END OF SCREEN 99.

INITIALIZATION.
  p_butt =
'@4F@  按下试试' .
  p_butt1 =
'@59@ 测试'.
  sscrfields-functxt_01 =
'@4D@ TEST B1'.
  sscrfields-functxt_02 =
'@6D@ TEST B2'.

AT SELECTION-SCREEN.
  CASE sy-ucomm . " sy-dynnr sscrfields-ucomm
    WHEN 'FC01'.
      CALL SELECTION-SCREEN 123 STARTING AT 10 5.
    WHEN 'FC02'.
      CALL SELECTION-SCREEN 99 STARTING AT 10 5 .
    WHEN 'US01'.
      MESSAGE i000(z900) WITH 'User Button' sy-dynnr.
    WHEN 'PB01'.
      MESSAGE i000(z900) WITH 'Push Button' sy-dynnr.
  ENDCASE.

========================================================

TYPE-POOLS icon.
TABLES sscrfields.
DATA functxt TYPE smp_dyntxt.

PARAMETERS: p_carrid TYPE s_carr_id,
p_cityfr TYPE s_from_cit.
SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2.

INITIALIZATION.
functxt-icon_id = icon_ws_plane.
functxt-quickinfo = 'Preselected Carrier'.
functxt-icon_text = 'LH'.
sscrfields-functxt_01 = functxt.
functxt-icon_text = 'UA'.
sscrfields-functxt_02 = functxt.

AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN 'FC01'.
p_carrid = 'LH'.
p_cityfr = 'Frankfurt'.
WHEN 'FC02'.
p_carrid = 'UA'.
p_cityfr = 'Chicago'.
WHEN OTHERS.
...
ENDCASE.