Изменение цвета элементов окна.
В следующем примере используется функция SetSysColors
для изменения цвета рамки активного окна на
тёмно-фиолетовый, заголовка на тёмно-голубой, а
фона окна на светло-серый.
// Элементы окна, которые будут изменены.
int aiElements[3] = {COLOR_ACTIVEBORDER,
COLOR_ACTIVECAPTION,
COLOR_WINDOW};
// Массив RGB значений.
DWORD aColors[3];
// Определяем новые цвета.
aColors[0] = RGB(0x80, 0x00, 0x80); // тёмно-фиолетовый
aColors[1] = RGB(0x00, 0x80, 0x80); // тёмно-голубой
aColors[2] = RGB(0xC0, 0xC0, 0xC0); // светло-серый
// Присваиваем значениям aiElements цвета из
// массива aColors.
SetSysColors(3, aiElements, aColors);
В следующем примере используется функция GetSysColor,
чтобы получить цвет фона окна и отобразить
красную, зелёную и синюю (RGB) составляющие этого
цвета в шестнадцатиричном представлении в
диалоговом окошке.
DWORD dwResult; // возвращаемое значение функции
TCHAR tchBuffer[BUFFER]; // буффер для строки
int nSize; // размер строки
// Получаем цвет фона окна.
dwResult = GetSysColor(COLOR_WINDOW);
nSize = sprintf(tchBuffer,
"Window color: {%x, %x, %x}",
GetRValue(dwResult),
GetGValue(dwResult),
GetBValue(dwResult));
MessageBox(NULL, tchBuffer, "GetSysColor", MB_ICONINFORMATION);
|