Rapid-Q by William Yu (c)1999-2000 .

Back to holyguard.net

Seleziona colore nella barra dei menu

'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