Изменение цвета элементов окна

В следующем примере используется функция 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); 
 
« Предыдущая статья   Следующая статья »