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 <WindowsConstants.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 <WindowsConstants.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