Каков цвет RGB для Windows COLOR_WINDOW или COLOR_BACKGROUND? - PullRequest
3 голосов
/ 02 февраля 2012

В Windows Api и GDI вы можете использовать цвет фона окна по умолчанию для кнопок рисования и прочего (этот слегка сероватый цвет в Win98, WinXP + Classic Theme и т. Д.).

Какое значение RGB для этого?

Так что я могу эмулировать точный цвет в Allegro, используя al_map_rgb( r, g, b)?

Ответы [ 2 ]

6 голосов
/ 02 февраля 2012

Это зависит от настроек пользователя.

Вы должны использовать функцию GetSysColor , чтобы получить значение DWORD, а затем использовать GetRValue, GetGValue и GetBValue, чтобы получить красный, зеленый и синий значения компонентов.

5 голосов
/ 02 февраля 2012

Хотя ответ Бобровского (используйте GetSysColor), вероятно, является правильным решением реальной проблемы, если вы хотите узнать теплый серый цвет по умолчанию независимо от настроек пользователя, это R = 212, G = 208, B = 200.

(Простой способ определить это - сделать снимок экрана с окном, вставить его в Paint, использовать инструмент выбора цвета на части цвета по умолчанию, а затем открыть диалоговое окно «Редактировать цвета» для просмотра RGB. значения в нем.)

...