Consultor Eletrônico



Kbase P20694: Why does my display statement not fit on the frame when I move from a character interface to a GUI e
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/8/2008
Status: Verified

GOAL:

Why does my display statement not fit on the frame when I move from a character interface to a GUI environment?

GOAL:

Is there a difference in displaying a display statement in a GUI environment Compared to a CHUI environment?

FACT(s) (Environment):

Windows
Progress 7.x
Progress 8.x
Progress 9.x
OpenEdge 10.x

FIX:

The reason for the behavior is due to the change in measuring the size of a character between CHUI and GUI interface.

There are two main factors of the change that go around making the behavior that you see:

1) Font being used is not a "Fixed-font". Fixed fonts are those where all characters are considered to have the same width. These unfixed fonts can have different widths depending on the character (e.g. i would have a small width then w).

2) GUI assumes you may want to use decorations so allows space for it. This really means that each field displayed via the display statement is considered as a fill-in widget rather then text.

To get around these and make it behave more like the character behavior, you can use the STREAM-IO option in your display statements (it is also available as a compiler option). Here a description of the option:

If you specify STREAM-IO for a frame, the USE-TEXT option is assumed and all font specifications are ignored. The frame is formatted using a fixed font in a manner appropriate for streaming to a text file or printer. In particular, all border padding for FILL-IN widgets is dropped and the default system font is used.

If you use the STREAM-IO option on the COMPILE statement, this behavior is the default for all frames in the procedure. In this case, you can override that option by specifying SCREEN-IO for an individual frame