# Function Reference

# _WinAPI_GetSysColor

Retrieves the current color of the specified display element

#include <WinAPISysWin.au3>
_WinAPI_GetSysColor ( $iIndex )

## Parameters

$iIndex | The display element whose color is to be retrieved. Can be one of the following: $COLOR_3DDKSHADOW - Dark shadow for three-dimensional display elements. $COLOR_3DFACE - Face color for three-dimensional display elements and for dialog box backgrounds. $COLOR_3DHIGHLIGHT - Highlight color for three-dimensional display elements (for edges facing the light source.) $COLOR_3DHILIGHT - Highlight color for three-dimensional display elements (for edges facing the light source.) $COLOR_3DLIGHT - Light color for three-dimensional display elements (for edges facing the light source.) $COLOR_3DSHADOW - Shadow color for three-dimensional display elements (for edges facing away from the light source). $COLOR_ACTIVEBORDER - Active window border. $COLOR_ACTIVECAPTION - Active window title bar. Specifies the left side color in the color gradient of an active window's title bar if the gradient effect is enabled. $COLOR_APPWORKSPACE - Background color of multiple document interface (MDI) applications. $COLOR_BACKGROUND - Desktop. $COLOR_BTNFACE - Face color for three-dimensional display elements and for dialog box backgrounds. $COLOR_BTNHIGHLIGHT - Highlight color for three-dimensional display elements (for edges facing the light source.) $COLOR_BTNHILIGHT - Highlight color for three-dimensional display elements (for edges facing the light source.) $COLOR_BTNSHADOW - Shadow color for three-dimensional display elements (for edges facing away from the light source). $COLOR_BTNTEXT - Text on push buttons. $COLOR_CAPTIONTEXT - Text in caption, size box, and scroll bar arrow box. $COLOR_DESKTOP - Desktop. $COLOR_GRADIENTACTIVECAPTION - Right side color in the color gradient of an active window's title bar. $COLOR_ACTIVECAPTION specifies the left side color. Use SPI_GETGRADIENTCAPTIONS with the SystemParametersInfo function to determine whether the gradient effect is enabled. $COLOR_GRADIENTINACTIVECAPTION - Right side color in the color gradient of an inactive window's title bar. $COLOR_INACTIVECAPTION specifies the left side color. $COLOR_GRAYTEXT - Grayed (disabled) text. This color is set to 0 if the current display driver does not support a solid gray color. $COLOR_HIGHLIGHT - Item(s) selected in a control. $COLOR_HIGHLIGHTTEXT - Text of item(s) selected in a control. $COLOR_HOTLIGHT - Color for a hyperlink or hot-tracked item. $COLOR_INACTIVEBORDER - Inactive window border. $COLOR_INACTIVECAPTION - Inactive window caption. Specifies the left side color in the color gradient of an inactive window's title bar if the gradient effect is enabled. $COLOR_INACTIVECAPTIONTEXT - Color of text in an inactive caption. $COLOR_INFOBK - Background color for tooltip controls. $COLOR_INFOTEXT - Text color for tooltip controls. $COLOR_MENU - Menu background. $COLOR_MENUHILIGHT - The color used to highlight menu items when the menu appears as a flat menu. The highlighted menu item is outlined with $COLOR_HIGHLIGHT. $COLOR_MENUBAR - The background color for the menu bar when menus appear as flat menus. However, $COLOR_MENU continues to specify the background color of the menu popup. $COLOR_MENUTEXT - Text in menus. $COLOR_SCROLLBAR - Scroll bar gray area. $COLOR_WINDOW - Window background. $COLOR_WINDOWFRAME - Window frame. $COLOR_WINDOWTEXT - Text in windows.

## Return Value

Returns the red, green, blue (RGB) color value of the given element

## Remarks

Above constants require #include <WindowsSysColorConstants.au3>
If the $iIndex parameter is out of range, the return value is zero. Because zero is also a valid RGB value, you cannot use GetSysColor to determine whether a system color is supported by the current platform. Instead, use the GetSysColorBrush function, which returns NULL if the color is not supported.

## Related

_WinAPI_SetSysColors

## See Also

Search GetSysColor in MSDN Library.

## Example

    #include <GUIConstantsEx.au3>
    #include <WinAPISysWin.au3>
    #include <WindowsSysColorConstants.au3>

    Example()

    Func Example()
        Local $aElements[2] = [$COLOR_ACTIVECAPTION, $COLOR_GRADIENTACTIVECAPTION]
        ; Red and Yellow
        Local $aColors[2] = [255, 65535], $aSaveColors[2]

        GUICreate("My GUI", 300, 200)

        $aSaveColors[0] = _WinAPI_GetSysColor($COLOR_ACTIVECAPTION)
        $aSaveColors[1] = _WinAPI_GetSysColor($COLOR_GRADIENTACTIVECAPTION)

        _WinAPI_SetSysColors($aElements, $aColors)

        GUISetState(@SW_SHOW)

        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    ExitLoop

            EndSwitch
        WEnd

        GUIDelete()

        _WinAPI_SetSysColors($aElements, $aSaveColors)

        Exit
    EndFunc   ;==>Example