Try OpenEdge Now
skip to main content
ABL Reference
ABL Syntax Reference : COLOR phrase
 

COLOR phrase

Specifies a video attribute or color. In Progress Version 7 and later, the COLOR phrase is superseded by the FGCOLOR and BGCOLOR options in graphical user interfaces and by the PFCOLOR and DCOLOR options in character interfaces. The COLOR phrase is supported only for backward compatibility.
Note: Does not apply to SpeedScript programming.

Syntax

{ NORMAL
| INPUT
| MESSAGES
| protermcap-attribute
| dos-hex-attribute
| { [ BLINK- ] [ BRIGHT- ]
[ fgnd-color ] [ bgnd-color ]
}
| { [ BLINK- ] [ RVV- ] [ UNDERLINE- ] [ BRIGHT- ]
[ fgnd-color ]
}
| VALUE ( expression )
}
NORMAL, INPUT, MESSAGES
The three standard colors ABL uses for screen displays. ABL uses NORMAL to display fields, INPUT to display input fields, and MESSAGES to display items in the message area.
Following are the NORMAL defaults:
*Windows — On a color monitor, the default colors are a blue background and a white foreground. On a monochrome monitor, the default colors are a standard background and foreground, depending on the monitor.
*UNIX — The default colors are the normal display mode of your terminal.
Following are the INPUT defaults:
*Windows — On a color monitor, the default colors are a light gray background and a blue foreground. On a monochrome monitor, the default underlines fields that require input.
*UNIX — The default colors depend on the type of terminal and how INPUT is defined in the protermcap file, but it is usually underlining.
Following are the MESSAGES defaults:
*Windows — On a color monitor, the defaults are the same as for INPUT. On a monochrome monitor, the default is reverse video.
*UNIX — The defaults depend on the type of terminal and how MESSAGES is defined in the protermcap file, but it is usually reverse video. (The protermcap file supplied with ABL supplies default attributes for NORMAL, INPUT, and MESSAGES for all defined terminals.)
protermcap-attribute
You use the protermcap-attribute option only if you are using UNIX. This is the name assigned to the attribute in the protermcap file (for example, RED, BLINK, etc.). See OpenEdge Deployment: Managing ABL Applications for a description of the protermcap file.
dos-hex-attribute
A hex string with a value of 00 through FF.
[ BLINK- ][ BRIGHT- ][ fgnd-color ][ bgnd-color ]
Names specific colors you want to use for the screen foreground and background. You use this option only if you are using Windows, and usually only if you use a color monitor. The following table lists the colors you can use for fgnd-color and bgnd-color.
Table 15. Windows colors
Color
Abbreviation
Black
Bla, Blk
Blue
Blu
Green
Gre, Grn
Cyan
C
Red
Red
Magenta
Ma
Brown
Bro, Brn
Gray
Gra, Gry
Dark-Gray
D-Gra
Light-Blue
Lt-Blu
Light-Green
Lt-Gre
Light-Cyan
Lt-C
Light-Red
Lt-Red
Light-Magenta
Lt-Ma
Light-Brown
Lt-Bro
Yellow
Y
White
W
If fgnd-color is omitted, then the system uses the foreground corresponding to NORMAL. If bgnd-color is omitted, then the system uses the background corresponding to NORMAL. If NORMAL, INPUT, or MESSAGES is specified for fgnd-color or bgnd-color, then the system uses the foreground or background color of the specified standard color.
[ BLINK- ][ RVV- ][ UNDERLINE- ][ BRIGHT- ][ fgnd-color ]
Names specific attributes you want to use for the screen display. Use this option only if you are using Windows, and usually only if you use a monochrome monitor. Normally, you would never specify fgnd-color.
VALUE ( expression )
An expression with a value that results in one of the options in the COLOR phrase.

Example

The following procedure displays a random number of asterisks, in a random color, column, and row in 10 different occurrences. The COLOR statement displays the asterisks in one of the three colors stored in the elements of the hilite array. The COLOR phrase in this example is VALUE ( hilite[ RANDOM( 1,3 ) ]. The DISPLAY statement uses the color determined in the COLOR statement to display a random number of asterisks.
r-colphr.p
DEFINE VARIABLE hilite AS CHARACTER NO-UNDO EXTENT 3.
DEFINE VARIABLE loop   AS INTEGER   NO-UNDO.

hilite[1] = "NORMAL".
hilite[2] = "INPUT". /* attribute to highlight */
hilite[3] = "MESSAGES".

REPEAT WHILE loop <= 10:
FORM bar AS CHARACTER WITH ROW(RANDOM(3,17))
COLUMN(RANDOM(5,50)) NO-BOX NO-LABELS
FRAME bursts.
COLOR DISPLAY VALUE(hilite[RANDOM(1,3)]) bar
WITH FRAME bursts.
DISPLAY FILL("*",RANDOM(1,8)) @ bar WITH FRAME bursts.
PAUSE 1 NO-MESSAGE.
HIDE FRAME bursts NO-PAUSE.
loop = loop + 1.
END.

Notes

*For an application to use this COLOR phrase, it must use the default color table in the installed environment.
*The system ignores the color phrase entry for overlay frames on spacetaking terminals.
*For more information on the protermcap file, see OpenEdge Deployment: Managing ABL Applications.

See also

COLOR statement