'This will change the color off the menu bar of all active windows

Declare Function GetSysColor Lib "user32" Alias "GetSysColor" _
(nIndex As Long) As Long

Declare Function SetSysColors Lib "user32" Alias "SetSysColors" _
(nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
Const COLOR_MENU = 4

DECLARE SUB Button_Click(Sender AS QBUTTON)

DECLARE SUB Close

DEFLNG NewColor, OldColor = GetSysColor(COLOR_MENU), _
ColorPos = COLOR_MENU

CREATE Form AS QFORM
    	Center
    	OnClose = Close
	CREATE Main AS QMAINMENU
    		CREATE mnuTest AS QMENUITEM
        			Caption = "Test"
    		END CREATE
    	END CREATE
    	CREATE Button1 AS QBUTTON
        	Top = 20
        	Left = 10
        	Caption = "Red"
        	OnClick = Button_Click
    	END CREATE
    	CREATE Button2 AS QBUTTON
        	Top = 20
        	Left = 90
        	Caption = "Green"
        	OnClick = Button_Click
    	END CREATE
    	CREATE Button3 AS QBUTTON
        	Top = 20
        	Left = 170
        	Caption = "Blue"
        	OnClick = Button_Click
    	END CREATE
END CREATE

Form.ShowModal
SUB Button_Click
    	SELECT CASE Sender.Caption
       		CASE "Red"
       			NewColor = &H000000FF
       		CASE "Green"
       			NewColor = &H0000FF00
       		CASE "Blue"
       			NewColor = &H00FF0000
    	END SELECT
    	SetSysColors(1, VARPTR(ColorPos), VARPTR(NewColor))
END SUB

SUB Close
    	SetSysColors(1, VARPTR(ColorPos), VARPTR(OldColor))
END SUB

