# AG\_SYSCOLOR

> [HTML Version](ag_syscolor.htm)

_Rewritten December 2023_

**tab(-10, AG\_SYSCOLOR); id\{,r,g,b\}; chr(127);**     [Tab(-10,x) Syntax Notes](ag_xxx_syntax-notes.md)

AG\_SYSCOLOR (63) allows you to query and/or change the Windows RGB color value for certain parts of the Windows user interface. Querying may be useful when creating your own controls (see [AUI\_CONTROL](aui_control.md)[xs](keyword-types.md)) in order to match the prevailing Windows color scheme.  Changing the standard Windows colors, on the other hand, although supported, is not recommended due to:allows you to change the Windows RGB value for certain parts of the Windows user interface. Note that this is offered on an as-is basis, and is not recommended due to:

•	Conflicts between these settings and the current Theme

•	Conflicts with the "approved" way of changing Windows desktop settings (via the Control Panel)

•	Differences in the way it may work under different versions of Windows

•	Possible problems with the way other applications may respond to the fact of color changes (since any such change triggers a notification message to be sent to all affected applications).

That said, you can experiment as you wish. 

**Parameters**

_id_

Identifier for the Windows user interface component, from the following table:

| **Symbol** | **Value** | **** | **Symbol** | **Value** |
|------|------|------|------|------|
| COLOR\_SCROLLBAR | 0 |  | COLOR\_HIGHLIGHTTEXT | 14 |
| COLOR\_BACKGROUND | 1 |  | COLOR\_BTNFACE | 15 |
| COLOR\_ACTIVECAPTION | 2 |  | COLOR\_BTNSHADOW | 16 |
| COLOR\_INACTIVECAPTION | 3 |  | COLOR\_GRAYTEXT | 17 |
| COLOR\_MENU | 4 |  | COLOR\_BTNTEXT | 18 |
| COLOR\_WINDOW | 5 |  | COLOR\_INACTIVECAPTIONTEXT | 19 |
| COLOR\_WINDOWFRAME | 6 |  | COLOR\_BTNHIGHLIGHT | 20 |
| COLOR\_MENUTEXT | 7 |  | COLOR\_3DDKSHADOW | 21 |
| COLOR\_WINDOWTEXT | 8 |  | COLOR\_3DLIGHT | 22 |
| COLOR\_CAPTIONTEXT | 9 |  | COLOR\_INFOTEXT | 23 |
| COLOR\_ACTIVEBORDER | 10 |  | COLOR\_INFOBK | 24 |
| COLOR\_INACTIVEBORDER | 11 |  |  |  |
| COLOR\_APPWORKSPACE | 12 |  | COLOR\_HOTLIGHT | 26 |
| COLOR\_HIGHLIGHT | 13 |  |  |  |




_r, g, b_

If specified, these red, green, and blue values will be combined to replace the color of the interface component specified by id.  (0,0,0=black, 255,255,255=white)

**Response**

If the r,g,b parameters are specified (i.e. setting the color), there is no response.  Otherwise the response is a comma-delimited list of the three current red, blue and green values followed by a carriage return:

_r,g,b _CR

**Example**

writecd tab(-10,AG\_SYSCOLOR), COLOR\_BTNFACE, 80, 120, 210; chr(127);    \! set



writecd tab(-10,AG\_SYSCOLOR), COLOR\_BTNFACE; chr(127);   \! query

input "", r, g, b



This first changes the color for the face of standard Windows buttons to RGB value (80,120,210). Then it queries the same element, which should send the response "80,120,210" CR

**Comments**

Note that if you are associating A-Shell palette numbers with the standard Windows dialog background, window background, or text (see AG\_SYSBCLR), you must do that first before using the AG\_SYSCOLOR command.