Declare Function GetSysColor Lib "user32.dll" (ByVal nIndex As Long) As Long
GetSysColor возвращает RGB-значение одного из системных цветов. Windows использует системные цвета при отображении таких элементов, как заголовок окна, меню, Рабочий стол и т.д.
В успешном случае функция возвращает RGB-значение системного цвета. В случае ошибки функция возвращает 0 (используйте GetLastError для получения кода ошибки)
' Изменим цвета градиента в областях ' заголовка окон наоборот. Другими словами, лево цвет ' градиента меняем с правым цветом градиента для активных ' и неактивных окон. После замены, уведомление посылается ' всем окнам, что обеспечит немедленное изменение во всех ' окнах. Конечно, этот пример не будет работать должным ' образом в Windows 95 или Windows NT 3.1 до 4.0 ' Чтобы использовать этот пример, Вы должны сначала ' разместить кнопку Command1 на форме ' *** Код для кнопки Command1 *** Private Sub Command1_Click() ' Цвет левого градиента области заголовка активного окна Dim activeLeftColor As Long ' Цвет правого градиента области заголовка активного окна Dim activeRightColor As Long ' Цвет левого градиента области заголовка неактивного окна Dim inactiveLeftColor As Long ' Цвет правого градиента области заголовка неактивного окна Dim inactiveRightColor As Long ' Идентификаторы системных цветов для изменений Dim colorNames(0 To 3) As Long ' RGB значения системных цветов для изменений Dim colorRGBs(0 To 3) As Long Dim retval As Long ' возвращаемое значение ' Получаем RGB значения цветов,используемых ' в заголовках окон activeLeftColor = GetSysColor(COLOR_ACTIVECAPTION) activeRightColor = GetSysColor(COLOR_GRADIENTACTIVECAPTION) inactiveLeftColor = GetSysColor(COLOR_INACTIVECAPTION) inactiveRightColor = GetSysColor(COLOR_GRADIENTINACTIVECAPTION) ' Загружаем массивы с новыми значениями. ' Обратите внимание, как мы переключаем ' значения, используемые левой и правой сторонами этих двух градиентов colorNames(0) = COLOR_ACTIVECAPTION colorRGBs(0) = activeRightColor colorNames(1) = COLOR_GRADIENTACTIVECAPTION colorRGBs(1) = activeLeftColor colorNames(2) = COLOR_INACTIVECAPTION colorRGBs(2) = inactiveRightColor colorNames(3) = COLOR_GRADIENTINACTIVECAPTION colorRGBs(3) = inactiveLeftColor ' Заменяем системные установки цвета retval = SetSysColors(4, colorNames(0), colorRGBs(0)) End Sub