有没有可以实现语法高亮的ABAP自定义控件?我使用的是Dynpro,而不是Web DynPro。
我想要显示一个突出显示XML代码的文本区。如果我可以将光标移动到文本区域中的某个位置,从而移动到代码中,那就太好了。
我可以使用cl_gui_textedit执行此操作吗
发布于 2011-12-24 05:12:42
您可以使用cl_gui_html_viewer类在SAP中显示XML代码。默认情况下,此控件使用Internet Explorer显示HTML内容,并且还能够显示XML内容。下面是一些快速入门的示例代码。它是具有一个屏幕100的程序的一部分,其中包含一个名为XMLDEMO (高27,宽120)的自定义控件。
报告zxmldemo:
report zxmldemo.
include zxmldemo_status_0100o01.
start-of-selection.
set screen '100'.和include zxmldemo_status_0100o01:
module status_0100 output.
data xmlstringtable type standard table of char255.
append '<?xml version="1.0" encoding="ISO-8859-1"?>' to xmlstringtable.
append '<note><to>Tove</to><from>Jani</from>' to xmlstringtable.
append '<heading>Reminder</heading>' to xmlstringtable.
append '<body>Don''t forget me this weekend!</body></note>' to xmlstringtable.
data container type ref to cl_gui_custom_container.
create object container
exporting
container_name = 'XMLDEMO'.
data htmlviewer type ref to cl_gui_html_viewer.
create object htmlviewer
exporting
parent = container.
data url(1024) type c value 'test.xml'.
htmlviewer->load_data( exporting url = url type = 'text' subtype = 'xml'
changing data_table = xmlstringtable ).
htmlviewer->show_url( url ).
endmodule.我认为不可能显示和移动光标。
发布于 2011-12-26 00:50:34
您可以在客户端使用任何ActiveX对象或支持OLE自动化的对象,并在SAP屏幕的自定义控件中运行该对象。如果你在谷歌上搜索一下,我想你可能会找到适合你需要的东西。然后,您可以在屏幕上建立一个自定义控件区域,并在其中运行应用程序。
当然,这要求您预先知道有问题的应用程序安装在客户机上,如果您不能从ABAP实例化它,您可以向用户发出一个错误。
发布于 2011-12-26 02:16:43
改进René的回答:如果你有一个超文本标记语言的控件,你可以加载一些基于超文本标记语言的编辑器,比如EditArea,而不是源文档,并在编辑器中显示和/或编辑XML。
https://stackoverflow.com/questions/8616724
复制相似问题