Форум: "WinAPI";
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];
ВнизКак вычислять системные цвета? Найти похожие ветки
← →
Oxy2 (2001-12-28 14:25) [0]Привет, всем!
У меня такой вопрс. Вот, например, при смене цветов в настройках екрана в Win она автоматически вычисляет цвета для отображения 3Д-объектов. Такие как, например, clBtnFace, clBtnHighlight, сl3DDkShadow, clBtnShadow (это все делфийские аналоги системных цветов). Вопрос состоит в том как мне самому вычислять их. Я пробовал выяснить систему вычислений, но ничего не получилось. Наверное она довольно сложная и простыми методами анализа ее не возьмешь. Может кто знает как это сделать или есть какая-то специфическая функция API. Помогите, мастера!
← →
Виктор Щербаков (2001-12-28 14:40) [1]Значения этих цветов лежат в реестре (название ключа не помню).
Так что вычислять ничего не надо. Можно оттуда взять, а можно API функцией GetSysColor воспользоваться
← →
Oxy2 (2001-12-28 15:20) [2]Но мне надо именно вычислять.
Допустим я хочу нарисовать кнопку не того цвета, что в винде установлен. Как мне узнать цвета тени и подсветки для кнопки?
← →
Voron (2001-12-29 08:08) [3]А помоему они вообще не вычисляются, а просто прописаны, не зря же они в реестр положены.
← →
Dimka Maslov (2001-12-29 10:43) [4]
function GetColor(Color: Integer): Integer;
asm
cmp eax, 0
jge @@10
and eax, 000000FFH
push eax
call GetSysColor
@@10:
end;
← →
Виктор Щербаков (2001-12-29 11:28) [5]to Voron
Некоторые системные цвета (сl3DDkShadow, clBtnShadow)действительно вычисляются при настройке пользователем цветовой схемы. Это позволяет цветовой схеме выглядеть более логично. Oxy2 как раз и хочет узнать алгоритм этих вычислений.
to Oxy2
Единственное, что я могу предложить - поизменяй цветовую схему и посмотри как будут изменяться значения вычисляемых системных цветов в реестре (HKEY_CURRENT_USER\Control Panel\Colors). Думаю, что алгоритм не очень сложный. Установи цвет рельефных объектов в (255, 255, 255) и посмотри чему равнцы цвета теней.
Ну и т.д...
← →
Oxy2 (2002-01-03 23:26) [6]Всех с Новым Годом и Рождеством!
2Виктор Щербаков
Наконец то хоть кто то понял, что мне надо. А то, например, Dimka Maslov вообще на ASM перешел. :-)) Правда совет его вовсе не в тему. Вопрос надо было сначала прочитать.
>>Единственное, что я могу предложить - поизменяй цветовую схему >>и посмотри как будут изменяться значения вычисляемых системных >>цветов в реестре (HKEY_CURRENT_USER\Control Panel\Colors). >>Думаю, что алгоритм не очень сложный. Установи цвет рельефных >>объектов в (255, 255, 255) и посмотри чему равнцы цвета теней.
Я это уже пробовал - не получается. :-((
Алгоритм довольно сложный. Я об этом в вопросе уже писал.
Посему тема еще НЕ закрыта. Может есть еще предложения. Буду очень благодарен.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c