Retrieves the current color of the specified display element
#include <WinAPISysWin.au3>
_WinAPI_GetSysColor ( $iIndex )
$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. |
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.
Search GetSysColor in MSDN Library.
#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