Release 10.1A: OpenEdge Development:
Progress 4GL Reference

> ## COLOR-TABLE system handle

> ##
> (Windows only; Graphical interfaces only)

> A handle to the current color table.

> Note: Does not apply to SpeedScript programming.

> #### Syntax

>     COLOR-TABLE [ :attribute | :method ]

> ``attribute``

> An attribute of the COLOR-TABLE handle.

> ``method``

> A method of the COLOR-TABLE handle.

> #### Attributes

> NUM-ENTRIES attribute | TYPE attribute |

> #### Methods

> GET-BLUE-VALUE( ) method | GET-DYNAMIC( ) method
> GET-GREEN-VALUE( ) method | GET-RED-VALUE( ) method
> GET-RGB-VALUE( ) method | SET-BLUE-VALUE( ) method
> SET-DYNAMIC( ) method | SET-GREEN-VALUE( ) method
> SET-RED-VALUE( ) method | SET-RGB-VALUE( ) method

> Example

> This procedure sets the number of entries in the color table, makes color i + 1 dynamic, then sets the red, green, and blue values for this entry:

> r-colhan.p
>     DEFINE VARIABLE red AS INTEGER INIT 0.
>     DEFINE VARIABLE blue AS INTEGER INIT 127.
>     DEFINE VARIABLE green AS INTEGER INIT 127.
>     DEFINE VARIABLE i AS INTEGER.

>     i = COLOR-TABLE:NUM-ENTRIES.
>     COLOR-TABLE:NUM-ENTRIES = i + 1.
>     COLOR-TABLE:SET-DYNAMIC(i, yes).
>     COLOR-TABLE:SET-RED-VALUE(i, red).
>     COLOR-TABLE:SET-GREEN-VALUE(i, green).
>     COLOR-TABLE:SET-BLUE-VALUE(i, blue).

>     DISPLAY COLOR-TABLE:GET-RED-VALUE (i).
>     DISPLAY COLOR-TABLE:GET-GREEN-VALUE (i).
>     DISPLAY COLOR-TABLE:GET-BLUE-VALUE (i).

> 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(``i``, 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.

> #### See also

> GET-KEY-VALUE statement, PUT-KEY-VALUE statement, SYSTEM-DIALOG COLOR statement, USE statement

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095