_WinAPI_GetSysColor
Возвращает системный цвет элементов окна
#include <WinAPI.au3>
_WinAPI_GetSysColor($iIndex)
Параметры
$iIndex | Элемент, цвет которого необходимо возвратить. Может быть одним из следующих значений: $COLOR_3DDKSHADOW - Тёмная тень трехмерных элементов. $COLOR_3DFACE - Цвет поверхности трехмерных элементов и фон диалогового окна. $COLOR_3DHIGHLIGHT - Цвет выделенных трехмерных элементов (для краев, стоящих перед источником света.) $COLOR_3DHILIGHT - Цвет выделенных трехмерных элементов (для краев, стоящих перед источником света.) $COLOR_3DLIGHT - Светлый цвет трехмерных элементов (для краев, стоящих перед источником света.) $COLOR_3DSHADOW - Цвет тени трехмерных элементов (для краев противоположных источнику света). $COLOR_ACTIVEBORDER - Границы активного окна. $COLOR_ACTIVECAPTION - Заголовок активного окна. Цвет левой стороны градиента, если включен эффект градиента. $COLOR_APPWORKSPACE - Рабочая область приложения (MDI). $COLOR_BACKGROUND - Фон рабочего стола. $COLOR_BTNFACE - Цвет поверхности трехмерных элементов и фон диалогового окна. $COLOR_BTNHIGHLIGHT - Цвет выделенных трехмерных элементов (для краев, стоящих перед источником света.) $COLOR_BTNHILIGHT Цвет выделенных трехмерных элементов (для краев, стоящих перед источником света.) $COLOR_BTNSHADOW - Цвет тени трехмерных элементов (для краев противоположных источнику света). $COLOR_BTNTEXT - Цвет текста на кнопке. $COLOR_CAPTIONTEXT - Цвет текста в заголовке, size box, и стрелки в элементе прокрутки. $COLOR_DESKTOP - Фон рабочего стола. $COLOR_GRADIENTACTIVECAPTION - Цвет правой стороны градиента в заголовке активного окна, если включен эффект градиента. $COLOR_ACTIVECAPTION Заголовок активного окна. Используйте SPI_GETGRADIENTCAPTIONS с функцией SystemParametersInfo, чтобы определить, включен ли эффект градиента. $COLOR_GRADIENTINACTIVECAPTION - Цвет правой стороны градиента в заголовке не активного окна, если включен эффект градиента. $COLOR_INACTIVECAPTION определяет цвет левого края. $COLOR_GRAYTEXT - Серый текст (недоступный). Этот цвет имеет значение 0, если текущий драйвер дисплея не поддерживает solid серый цвет. $COLOR_HIGHLIGHT - Выделенный пункт(а) элементы (например ListView). $COLOR_HIGHLIGHTTEXT - Текст выделенного пункта(ов) элемента (например ListView). $COLOR_HOTLIGHT - Цвет ссылки или пункта, на который наведён курсор мыши. $COLOR_INACTIVEBORDER - Цвет границы неактивного окна. $COLOR_INACTIVECAPTION - Цвет заголовка неактивного окна. Цвет левой стороны градиента, если включен эффект градиента. $COLOR_INACTIVECAPTIONTEXT - Цвет текста в заголовке неактивного окна. $COLOR_INFOBK - Цвет фона всплывающей подсказки. $COLOR_INFOTEXT - Цвет текста всплывающей подсказки. $COLOR_MENU - Цвет фона меню. $COLOR_MENUHILIGHT - Цвет выделенного элемента меню, когда меню плоское. Выделенный пункт меню очерчен $COLOR_HIGHLIGHT. Это значение не поддерживается в Windows 2000. $COLOR_MENUBAR - Цвет фона меню, когда меню плоское. Однако, $COLOR_MENU продолжает определять цвет фона всплывающего меню. Это значение не поддерживается в Windows 2000. $COLOR_MENUTEXT - Цвет текста в меню. $COLOR_SCROLLBAR - Серая область элемента прокрутки. $COLOR_WINDOW - Цвет фона окна. $COLOR_WINDOWFRAME - Window frame. $COLOR_WINDOWTEXT - Цвет текста в окне. |
Возвращаемое значение
Возвращает красный, зеленый, синий (RGB) значения цвета данного элементаПримечания
Для выше указанных констант необходим WindowsConstants.au3.См. также
_WinAPI_SetSysColorsСм. также
Искать GetSysColor в библиотеке MSDNПример
#include <WindowsConstants.au3>
#include <WinAPI.au3>
_Example()
Func _Example()
Local $aSysColor[39] = [ _
'COLOR_3DDKSHADOW', _
'COLOR_3DFACE', _
'COLOR_3DHIGHLIGHT', _
'COLOR_3DHILIGHT', _
'COLOR_3DLIGHT', _
'COLOR_3DSHADOW', _
'COLOR_ACTIVEBORDER', _
'COLOR_ACTIVECAPTION', _
'COLOR_APPWORKSPACE', _
'COLOR_BACKGROUND', _
'COLOR_BTNFACE', _
'COLOR_BTNHIGHLIGHT', _
'COLOR_BTNHILIGHT', _
'COLOR_BTNSHADOW', _
'COLOR_BTNTEXT', _
'COLOR_CAPTIONTEXT', _
'COLOR_DESKTOP', _
'COLOR_GRADIENTACTIVECAPTION', _
'COLOR_ACTIVECAPTION', _
'COLOR_GRADIENTINACTIVECAPTION', _
'COLOR_INACTIVECAPTION', _
'COLOR_GRAYTEXT', _
'COLOR_HIGHLIGHT', _
'COLOR_HIGHLIGHTTEXT', _
'COLOR_HOTLIGHT', _
'COLOR_INACTIVEBORDER', _
'COLOR_INACTIVECAPTION', _
'COLOR_INACTIVECAPTIONTEXT', _
'COLOR_INFOBK', _
'COLOR_INFOTEXT', _
'COLOR_MENU', _
'COLOR_MENUHILIGHT', _
'COLOR_MENUBAR', _
'COLOR_MENU', _
'COLOR_MENUTEXT', _
'COLOR_SCROLLBAR', _
'COLOR_WINDOW', _
'COLOR_WINDOWFRAME', _
'COLOR_WINDOWTEXT']
GUICreate('_WinAPI_GetSysColor', 480, 600)
For $i = 0 To 38
$n = Eval($aSysColor[$i])
$color = _WinAPI_GetSysColor($n)
GUICtrlCreateLabel(@TAB & $n & @TAB & Hex($color, 6) & @TAB & '$' & $aSysColor[$i], 15, $i * 15 + 5, 450, 15)
GUICtrlSetBkColor(-1, $color)
If $color < 0x888888 Then
If $color < 0x333333 Then
GUICtrlSetColor(-1, 0x999999)
Else
GUICtrlSetColor(-1, 0xdddddd)
EndIf
EndIf
Next
GUISetState()
Do
Until GUIGetMsg() = -3
EndFunc ;==>_Example