2017-11-25 148 views
0

我在模块池屏幕上有一个按钮。我需要根据逻辑/条件动态地更改图标,工具提示和文本。我可以成功更改图标和文本,但无法将所有三项内容(图标,文本和工具提示)一起更改。如何同时动态设置按钮工具提示,文字和图标?

样品PBO代码:

Data but(30) type c." here but is the name of button in screen. 
write 'icon xxx' as ICON to but. 
Concatenate but 'click here' into but separated by space. 

它没有设置提示,这应该显示“请点击此处继续”的值。我怎样才能做到这一点?

+0

你为什么不定义所有按键,并动态地隐藏你不需要的按钮? – Oguz

回答

0

使用ICON_CREATE FM代替。

下面是示例如何改变即时所有三个属性:

PARAMETERS: p_icon TYPE icon_d MATCHCODE OBJECT h_icon, 
      p_text TYPE string, 
      p_toolt TYPE string. 

SELECTION-SCREEN BEGIN OF SCREEN 500. 
SELECTION-SCREEN PUSHBUTTON 49(30) but USER-COMMAND ret. 
SELECTION-SCREEN END OF SCREEN 500. 

AT SELECTION-SCREEN. 
    CASE sy-ucomm. 
    WHEN 'ONLI'. 
     CALL FUNCTION 'ICON_CREATE' 
     EXPORTING 
      name  = p_icon 
      text  = p_text 
      info  = p_toolt 
      add_stdinf = 'X' 
     IMPORTING 
      result  = but. 
     CALL SELECTION-SCREEN 500. 
    WHEN 'RET'. 
     LEAVE TO SCREEN 0. 
    WHEN OTHERS. 
    ENDCASE. 
相关问题