Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


NikLok,
Цитата:
как определить цвет панели задач?
У неё вроде цвет тот же что и у интерфейса других окон. А для получения системных цветов есть UDF:

Код: Выделить весь код
Const $COLOR_SCROLLBAR = 0 ; - цвет полосы прокрутки
Const $COLOR_BACKGROUND = 1 ; - цвет фона окна
Const $COLOR_ACTIVECAPTION = 2 ; - цвет заголовка активного окна
Const $COLOR_INACTIVECAPTION = 3 ; - цвет заголовка неактивного окна
Const $COLOR_MENU = 4 ; - цвет меню
Const $COLOR_WINDOW = 5 ; - цвет окна
Const $COLOR_WINDOWFRAME = 6 ; - цвет обрамления окна
Const $COLOR_MENUTEXT = 7 ; - цвет текста меню
Const $COLOR_WINDOWTEXT = 8 ; - цвет текста окна
Const $COLOR_CAPTIONTEXT = 9 ; - цвет текста в заголовке окна

Const $COLOR_ACTIVEBORDER = 10 ; - цвет активной границы окна
Const $COLOR_INACTIVEBORDER = 11 ; - цвет неактивной границы окна
Const $COLOR_APPWORKSPACE = 12 ; - цвет рабочего места окна
Const $COLOR_HIGHLIGHT = 13 ; - цвет подсветки
Const $COLOR_HIGHLIGHTTEXT = 14 ; - цвет подсвеченного текста
Const $COLOR_BTNFACE = 15 ; - цвет лицевой части кнопки
Const $COLOR_BTNSHADOW = 16 ; - цвет тени кнопки
Const $COLOR_GRAYTEXT = 17 ; - цвет "серого" текста
Const $COLOR_BTNTEXT = 18 ; - цвет текста в кнопке
Const $COLOR_INACTIVECAPTIONTEXT = 19 ; - цвет текста в заголовке неактивного окна
Const $COLOR_BTNHIGHLIGHT = 20 ; - цвет текущей кнопки

$nColor = _GetSysColor($COLOR_WINDOW)

GUICreate("_GetSysColor", 200, 100)

GUICtrlCreateLabel($nColor, 20, 15)

GUICtrlCreateLabel(" ", 30, 40, 32, 32)
GUICtrlSetBkColor(-1, $nColor)

GUISetState()

While 1
    Switch GUIGetMsg()
        Case -3
            ExitLoop
    EndSwitch
WEnd

;~ Позволяет получать системные цвета, определённые текущими параметрами оформления
Func _GetSysColor($nIndex)
    $BGRColor = DllCall("user32.dll", "long", "GetSysColor", "long", $nIndex)
    $BGR = Hex ($BGRColor[0],6 )
    $RGB = "0x" & StringRight($BGR,2) & StringMid($BGR,3,2) & StringLeft($BGR,2)
    Return $RGB
EndFunc
Ну или можно через PixelGetColor...

Код: Выделить весь код
$TaskBar_Hwnd = WinGetHandle("[CLASS:Shell_TrayWnd]")
$nColor = PixelGetColor(5, 5, $TaskBar_Hwnd)
$nColor = "0x" & Hex($nColor, 6)
В любом случае могут возникнуть проблемы при использовании разных тем оформления.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Последний раз редактировалось Creat0R, 27-05-2008 в 15:11. Причина: Орфография

Это сообщение посчитали полезным следующие участники:

Отправлено: 05:09, 27-05-2008 | #590