1

我找到了一个富文本编辑器,它在普通的abap 中很容易使用。

我的意思是,CL_BTF* 将显示所有内容。

但是,它似乎有点错误。

1) 它与 cr/lf's 和 <br>'s 的行为有问题。当我收到字符串时,编辑器(它是 html 类型)通过不删除 cr/lf 并用 <br> 替换它们来加倍 cr/lf。没问题,我以后自己做。

2) 一个 dynpro 上的 4 个编辑器在通过“CALL SCREEN”显示 dynpro 之前需要将近 5 秒的时间,这似乎是相当不理想的。

有人知道更好的选择吗?

4

1 回答 1

2

我已经广泛使用了另一个控件,它可以通过类进行编程CL_GUI_RTF_EDITOR(在 SAP 切换到 Microsoft Word 之前,它由“SAPscript 文本编辑器”使用)。

我不能告诉你这个 RTF 编辑器是否比“你的”BTF 编辑器(CL_GUI_BTFEDITOR,如果它是你正在谈论的类)更少或更多错误,因为我不知道这个 BTF 类。

但我可以告诉你,CL_GUI_RTF_EDITOR它的某些功能有一种奇怪的行为。没有关于性能的想法。请注意,我花了一些时间来了解它是如何工作的,有什么限制,以及如何应对它们。

如果您想测试 RTF 编辑器的性能,这里有一个非常简短的示例,您可以修改:

DATA editor_id TYPE i.
DATA ed TYPE REF TO cl_gui_rtf_editor.

PARAMETERS dummy TYPE flag.

at SELECTION-screen output.
CREATE OBJECT ed
EXPORTING
  parent                 = cl_gui_container=>screen0
EXCEPTIONS
  OTHERS                 = 4.

CALL METHOD ed->create_editor
EXPORTING
  LEFT               = 1
  top                = 1
  height             = 500
  WIDTH              = 600
 ascii_text         = 'X'
CHANGING
  editor_id          = editor_id
EXCEPTIONS
  OTHERS             = 5 .

CALL METHOD ed->create_field
EXPORTING
  p_name     = 'HUGO'
  p_value    = 'mon texte'
  p_width    = 2000.

顺便说一句,也许另一种解决方案是重用经典的 HTML 文本编辑器并将其嵌入到 Web 浏览器(CL_GUI_HTML_VIEWER类)中。Web 浏览器是 Microsoft 提供的一种,因此可能设计得更好。

于 2018-07-31T19:37:41.307 回答