MenuBar Hintergrundfarbe - Hat sich erledigt
Verfasst: 29.09.2019 11:40
Moin,
ich versuche mit folgendem Code die Hintergrundfarbe einer Menubar zu ändern:
Das funktioniert auf den ersten Blick auch. Aber wenn ein Menutitle geklickt wird bekommt er wieder seine Systemfarbe.
Gibt es die Möglichkeit auch diese Hintergrundfarbe zu ändern?
Gruß Michael
Edit:
Habe herausgefunden das Dies nur Ownerdrawn Objekten funktioniert indem man das Menü selbst zeichnet.
Vielen Dank an die Microsoft Programmierer wegen der zickigen Controls.
ich versuche mit folgendem Code die Hintergrundfarbe einer Menubar zu ändern:
Code: Alles auswählen
Structure MENUINFO
cbSize.l
fMask.l
dwStyle.l
cyMax.l
hbrBack.i
dwContextHelpID.l
dwMenuData.l
EndStructure
#MIM_BACKGROUND = $2
#MIM_APPLYTOSUBMENUS = $80000000
Define MainMenu.l
Procedure SetMenuBackgroundcolor(Menu.l)
Define hBrush1.l, mi.MENUINFO
hBrush1 = CreateSolidBrush_(RGB(255,0,0))
With mi
mi\cbSize = SizeOf(MENUINFO)
mi\fMask = #MIM_BACKGROUND|#MIM_APPLYTOSUBMENUS
mi\hbrBack = hBrush1
EndWith
SetMenuInfo_(Menu, @mi)
DrawMenuBar_(WindowID(0))
EndProcedure
OpenWindow(0, 0, 0, 500, 300, "Test", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
MainMenu = CreateMenu(1, WindowID(0))
MenuTitle("Titel1")
MenuItem(1, "Item1")
MenuTitle("Titel2")
MenuItem(1, "Item1")
SetMenuBackgroundcolor(MainMenu)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_CloseWindow
DeleteObject_(hBrush1)
EndIf
Until Event = #PB_Event_CloseWindow
Gibt es die Möglichkeit auch diese Hintergrundfarbe zu ändern?
Gruß Michael
Edit:
Habe herausgefunden das Dies nur Ownerdrawn Objekten funktioniert indem man das Menü selbst zeichnet.
Vielen Dank an die Microsoft Programmierer wegen der zickigen Controls.