This procedure sets the number of entries in the color table, makes color ix + 1 dynamic, then sets the red, green, and blue values for this entry:
r-colhan.p
DEFINE VARIABLE red AS INTEGER NO-UNDO.
DEFINE VARIABLE blue AS INTEGER NO-UNDO INITIAL 127.
DEFINE VARIABLE green AS INTEGER NO-UNDO INITIAL 127.
DEFINE VARIABLE ix AS INTEGER NO-UNDO.
ix = COLOR-TABLE:NUM-ENTRIES COLOR-TABLE:NUM-ENTRIES = ix + 1.
Note: In this procedure, you can replace the SET-RED-VALUE( ), SET-GREEN-VALUE( ), and SET-BLUE-VALUE( ) methods with the SET-RGB-VALUE( ) method as follows: COLOR-TABLE:SET-RGB-VALUE(ix, RGB-VALUE(red, green, blue)).
Notes
The current color table is the color table in the startup environment or the environment most recently specified in a USE statement.
To determine the number of entries in the color table, access the NUM-ENTRIES attribute. For character interfaces, the value of this attribute is zero.
To change the number of entries in the color table, modify the NUM-ENTRIES attribute.
To let users modify color table entries at run time, display the System Color dialog box by coding the SYSTEM-DIALOG COLOR statement.
To specify a red, green, or blue value for a dynamic color, supply an integer expression that returns a value between 0 and 255 inclusive.
To save a color definition from the color table to the current environment, use the PUT-KEY-VALUE statement. To retrieve a color definition from the current environment, use the GET-KEY-VALUE statement.
The value of COLOR-TABLE:TYPE is "PSEUDO-WIDGET."
The SET-RGB-VALUE() and GET-RGB-VALUE() methods can be used as an alternative to specifying each individual red, green, and blue color value with the individual SET-RED-VALUE(), SET-GREEN-VALUE(), SET-BLUE-VALUE() methods, and GET-RED-VALUE(), GET-GREEN-VALUE(), and GET-BLUE-VALUE() methods, respectively.
The SET-RGB-VALUE() and GET-RGB-VALUE() methods to set or retrieve colors are primarily used for Active X controls.
The index is zero based. For example, the statement COLOR-TABLE:GET-BLUE-VALUE(2) returns the color of the 3rd entry.