Using rich text in an application

Rich text format (RTF) is a standard for specifying formatting instructions and document content in a single ASCII document. An editor that supports rich text format interprets the formatting instructions and displays the text with formatting.

In an application, you may want to:

  • Provide a window for preparing rich text documents

    Although not a full-fledged word processor, the RichTextEdit control allows the user to apply formatting to paragraphs, words, and characters.

  • Create a mail-merge application

    You or the user can set up boilerplate text with input fields associated with database data.

  • Display reports with formatted text

    A RichText DataWindow object is designed for viewing data, rather than entering data. It does not have the edit styles of other DataWindow presentation styles.

  • Store rich text as a string in a database and display it in a RichTextEdit control

Sources of rich text

Any word processor

You can prepare rich text in any word processor that can save or export rich text format.

Input fields in PowerBuilder only

Although many word processors support some kinds of fields, the fields are usually incompatible with other rich text interpreters. If you want to specify input fields for a PowerBuilder application, you will have to insert them using the PowerBuilder RichTextEdit control.

Rich text in the database

Since rich text is represented by ASCII characters, you can also store rich text in a string database column or string variable. You can retrieve rich text from a string database column and use the PasteRTF function to display the text with formatting in a RichTextEdit control.

Language of rich text

English is the currently recommended language for the rich text, as only English is fully tested in 2017 R3. The other languages will be listed here after they are fully tested in the future versions.

Rich text editors

Two rich text editors

You can select from the three rich text editors supported by Appeon PowerBuilder. The selected rich text editor will be applicable to the RichTextEdit control, the RichText DataWindow object, and the RichText edit style.

  • Built-in TX Text Control

    Starting from PowerBuilder 2017 R3 MR 01, a special OEM version of TX Text Control ActiveX X15 is added as a built-in rich text editor in PowerBuilder (not in InfoMaker), and it is provided at no cost and is highly recommended to be used for backwards compatibility reasons by all existing PowerBuilder projects that already make use of the RichTextEdit of SAP PowerBuilder version 12.6 or older.

  • Built-in Rich Edit Control (TE Edit Control) (default)

    Starting from PowerBuilder 2017, TE Edit Control is provided as the default rich text editor for free use by the PowerBuilder developer and the InfoMaker developer. This editor provides almost the same functions/events/properties as the old one used in PowerBuilder 12.6 and earlier.

    Class name difference

    The class name for TE Edit Control is "Ter24Class" in PowerBuilder 2017 and 2017 R2, and "Ter25Class" in PowerBuilder 2017 R3 and 2018. Please make sure to use the corresponding class name in your API calls or the third-party auto-test scripts.

    However, TE Edit Control has the following issues and unsupported features in PowerBuilder:

    • When copying text into the RichTextEdit control, the font used may not be the default font for the RichTextEdit control. PowerBuilder 12.6 has the same issue.

    • It is unsupported to merge the data of two RichTextEdit controls into the third RichTextEdit control. For example, the following code is unsupported:

      ls_1 = rte_1.CopyRTF ( false )
      ls_2 = rte_2.CopyRTF ( false )
      ls_3 = ls_1 + ls_2
      ris = rte_3.PasteRTF (ls_3)
      
    • RichTextEdit control has problems in handling the space width of some fixed width fonts such as Courier and Courier New, which causes text not aligned.

    • In DataWindow preview, content of RichTextEdit controls do not scale like other controls do.

    • In printout of DataWindows, RichTextEdit controls show additional unwanted padding on the top depending on the location on the page.

    • SaveDocument will fail if the specified directory contains non-English characters.

    • SetFont function or setting font via APIs is unsupported.

    • SelectText function supports 98303 as the maximum length. If the length is over 98303, SelectText failed to select any text.

  • TX Text Control ActiveX X14 Professional/Enterprise

    This is the rich text editor used in PowerBuilder 12.6 and earlier versions. If you want to continue using and distributing this editor in PowerBuilder 2017 and later, you will have to purchase it separately from the vendor (http://www.textcontrol.com) and follow the vendor's documentation to package and distribute it to your users.

    Only the Professional or Enterprise edition of TX Text Control ActiveX X14 is supported by PowerBuilder 2017 and later; Standard edition is not supported.

    The 2400 SP1, 2400 SP2, and 2400 SP3 of TX Text Control ActiveX X14 do not support the RichText edit style any more, although it supports the RichTextEdit control and the RichText DataWindow object. You should use TX Text Control ActiveX X14 2400 for supporting all these three features.

For how to select the rich text editor, see the section called “Specifying a rich text editor” in Users Guide.

Deploying a rich text application

To deploy a rich text application to a server or client machine:

  • If using the built-in text editor, you can use the PowerBuilder Runtime Packager to deploy the required rich text files with your application.

    For more information on the runtime packager, see PowerBuilder Runtime Packager.

  • If using the old editor (TX Text Control ActiveX), you must follow the vendor's documentation to deploy the required files with your application.