Position and size of a window
Window objects can be created with a position and size for the TUI mode.
Defining the window position and size in TUI mode
A typical OPEN
WINDOW
instruction for TUI mode specifies the position on the screen:
OPEN WINDOW w1 AT 10,5 WITH FORM "custlist"
When using the TUI mode (or traditional GUI mode), the AT line,
column
clause defines the position of the top-left corner of the window on the
terminal screen. The terminal character-cell coordinates start at line 1 and column 1, referencing
the top-left corner of the terminal.
The WITH lines ROWS, characters COLUMNS
clause specifies explicit
vertical and horizontal dimensions for the window. The expression at the left of the
ROWS
keyword specifies the height of the window, in character unit lines. This must
be an integer between 1 and max, where max is the maximum number of lines that the screen can
display. The integer expression after the comma at the left of the COLUMNS
keyword
specifies the width of the window, in character unit columns. This must return a whole number
between 1 and length, where length is the number of characters that your monitor can display on one
line.
Reserved window lines in TUI mode
In addition to the lines needed for a form, consider allowing room for the
COMMENT
line, the MENU
line, the MENU
comment
line, and the ERROR
line for the TUI mode.
The runtime system issues a runtime error if the window does not include sufficient lines to display both the form and these additional reserved lines.
The minimum number of lines required to display a form in a window is the number of lines in the form, plus an additional line below the form for prompts, messages, and comments.
Window geometry in GUI mode
When using the full GUI mode (without the
traditional mode), the AT line, column
clause is optional and if
used, the WITH lines ROWS, characters COLUMNS
clause is ignored,
because the size of the window is automatically calculated, and the position is controlled by the
window manager.
The size of a regular window is defined by
the window container, and the content of
the current form adapts to the size of the container. When using a modal window, the size of the window is computed from
its content. The size of a modal window that shows a form defining a TABLE
, is
computed from the size of the TABLE
element (see Controlling table rendering for more details)