Displays a dialog box that lets the user choose and associate a system color with the specified dynamic color number. The SYSTEM-DIALOG COLOR statement provides a dialog box appropriate to the graphical environment in which it runs.
SYSTEM-DIALOG COLOR color-numberUPDATE logical-variableIN WINDOW windowAn integer expression that evaluates to an ABL color number from 0 to 255, inclusive, that is defined as dynamic through the SET-DYNAMIC method of the COLOR-TABLE handle. The color dialog associates the ABL color specified by color-number with the system color value the user selects in the dialog box. The user chooses the OK button to confirm the choice. The user can close the dialog box without changing the color by choosing the Cancel button.UPDATE logical-variableSpecifies a logical variable to return the status of the user’s color dialog interaction. If the user chooses the OK button, the dialog sets logical-variable to TRUE. If the user chooses the Cancel button, the dialog sets logical-variable to FALSE.IN WINDOW windowSpecifies the window where the dialog box is displayed. The value window must be the handle of a window.The following procedure displays a dialog box that allows the user to assign new foreground and background colors to the dialog box. A radio set in the dialog box lists selections for foreground and background that correspond to the numbers nine and eight, respectively. Choosing the OK button opens a color dialog box to assign a new system color to the selected color number. Note that the UPDATE option is not used to return a termination status because the dialog does not require the user to select a new color; it only provides the option. The procedure terminates when the user chooses the Cancel button in the radio selection dialog box.
DEFINE VARIABLE front-color AS INTEGER NO-UNDO INITIAL 9.DEFINE VARIABLE back-color AS INTEGER NO-UNDO INITIAL 8.DEFINE VARIABLE curr-color AS INTEGER NO-UNDO INITIAL 9VIEW-AS RADIO-SET RADIO-BUTTONS "Foreground", 9, "Background", 8.DEFINE BUTTON ok-button LABEL "OK".DEFINE BUTTON cancel-button LABEL "Cancel" AUTO-ENDKEY.FORMSKIP(0.5) SPACE(0.5)curr-color SPACE(2) ok-button SPACE(2) cancel-buttonSPACE(0.5) SKIP(0.5)WITH FRAME color-frame NO-LABELS TITLE "Choose frame colors ..."FGCOLOR front-color BGCOLOR back-color VIEW-AS DIALOG-BOX.ON CHOOSE OF ok-button IN FRAME color-frame DO:ASSIGN curr-color.IF NOT COLOR-TABLE:GET-DYNAMIC(curr-color) ANDNOT COLOR-TABLE:SET-DYNAMIC(curr-color,TRUE) THENMESSAGE "Color must be DYNAMIC to edit.".ELSESYSTEM-DIALOG COLOR curr-color.END.UPDATE curr-color ok-button cancel-button WITH FRAME color-frame.Note that the trigger for the ok-button must assign the curr-color variable to obtain the latest value selected for the radio set. The GET-DYNAMIC and SET-DYNAMIC methods are used to ensure that the color is dynamic before modifying it.
![]()
For more information on defining dynamic colors, see OpenEdge Deployment: Managing ABL Applications.
![]()
Use the color-number in a COLOR phrase to assign the selected color to a widget.
© 2012 Progress Software Corporation and/or its subsidiaries or affiliates. |