Option Explicit
Private Declare Function SetSysColors Lib "user32" _
(ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
Private Declare Function GetSysColor Lib "user32" _
(ByVal nIndex As Long) As Long
Private Const COLOR_SCROLLBAR = 0 'The Scrollbar color
Private Const COLOR_BACKGROUND = 1 'The Color of the background with no wallpaper
Private Const COLOR_ACTIVECAPTION = 2 'Caption of Active Window
Private Const COLOR_INACTIVECAPTION = 3 'Caption of Inactive window
Private Const COLOR_MENU = 4 'Menu
Private Const COLOR_WINDOW = 5 'Windows background
Private Const COLOR_WINDOWFRAME = 6 'Window frame
Private Const COLOR_MENUTEXT = 7 'Window Text
Private Const COLOR_WINDOWTEXT = 8 '3D dark shadow (Win95)
Private Const COLOR_CAPTIONTEXT = 9 'Text in window caption
Private Const COLOR_ACTIVEBORDER = 10 'Border of active window
Private Const COLOR_INACTIVEBORDER = 11 'Border of inactive window
Private Const COLOR_APPWORKSPACE = 12 'Background of MDI desktop
Private Const COLOR_HIGHLIGHT = 13 'Selected item background
Private Const COLOR_HIGHLIGHTTEXT = 14 'Selected menu item
Private Const COLOR_BTNFACE = 15 'Button
Private Const COLOR_BTNSHADOW = 16 '3D shading of button
Private Const COLOR_GRAYTEXT = 17 'Grey text, of zero if dithering is used.
Private Const COLOR_BTNTEXT = 18 'Button text
Private Const COLOR_INACTIVECAPTIONTEXT = 19 'Text of inactive window
Private Const COLOR_BTNHIGHLIGHT = 20 '3D highlight of button
Private Const COLOR_2NDACTIVECAPTION = 27 'Win98 only: 2nd active window color
Private Const COLOR_2NDINACTIVECAPTION = 28 'Win98 only: 2nd inactive window color
Private OriginalActiveColor As Long ' Holds original active title bar color
Private OriginalInactiveColor As Long ' Holds original inactive title bar color
Private Sub ResetColors()
' Resets the original system colors
SetSysColors 1, COLOR_ACTIVECAPTION, OriginalActiveColor
SetSysColors 1, COLOR_INACTIVECAPTION, OriginalInactiveColor
End Sub
Private Sub ChangeColors()
' Change active title bar color to black
SetSysColors 1, COLOR_ACTIVECAPTION, RGB(0, 0, 0)
' Change inactive title bar color to black
SetSysColors 1, COLOR_INACTIVECAPTION, RGB(0, 0, 0)
End Sub
Private Sub Command1_Click()
ResetColors
End Sub
Private Sub Command2_Click()
ChangeColors
End Sub
Private Sub Form_Load()
Command1.Caption = "Reset Colors"
Command2.Caption = "Change Colors"
OriginalActiveColor = GetSysColor(COLOR_ACTIVECAPTION)
OriginalInactiveColor = GetSysColor(COLOR_INACTIVECAPTION)
End Sub