mrjbom
@mrjbom

[WinAPI] Цвет TextOut() и цвет фона окна не совпадает, как поставить одинаковый цвет у них обоих?

Проблема в том, что в окне выводится текст и его фон не сочетается с фоном окна.
Выглядит это так:
5ca124cd49d90971871815.png

Цвет самого окна выглядит так:
...
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW);
...


Изменяю цвет текста используя эту функцию:
SetBkColor(hdc, ...);
Вторым параметром нужен COLORREF, его можно получить используя макрос RGB(), а вот какой у COLOR_WINDOW RGB?
Пробовал узнать его так:
SetBkColor(hdc, RGB(
	GetRValue(GetSysColor(COLOR_WINDOW)),
	GetGValue(GetSysColor(COLOR_WINDOW)),
	GetBValue(GetSysColor(COLOR_WINDOW))
	));

Но текст остаётся абсолютно белым.
Конечно, используя Photoshop я выяснил что это 240;240;240, но так не годиться.
Что делать?

P.S.
Эти функции
GetRValue(GetSysColor(COLOR_WINDOW)),
GetGValue(GetSysColor(COLOR_WINDOW)),
GetBValue(GetSysColor(COLOR_WINDOW))

Выводят 255;255;255, а если использовать COLOR_WINDOW - 1(что соответствует COLOR_MENU), то ответ верный(240;240;240), почему так происходит?
  • Вопрос задан
  • 738 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы