Je suppose que vous êtes entrain de regarder le grand prix F1 de Monaco sur C8 ou RTS1
Moi aussi, mais d'un seul œil.
Pour agrémenter mes applications, j'aurais besoin de modifier l'image attribuée a un MenuItem.
Cette possibilité n'existe que pour certains gadgets, mais pas pour les sous-menus.
Voici un code pour expliquer le problème:
Code : Tout sélectionner
Global IconOpen, IconSave
UsePNGImageDecoder()
Enumeration Windows
#WinApp = 0
EndEnumeration
Enumeration Menus
#MenuApp = 0
EndEnumeration
Enumeration SubMenus
#Menu1 = 1
#Menu2
#Menu3
#Menu4
EndEnumeration
Enumeration Images
#Image_Open
#Image_Save
EndEnumeration
DataSection ; Images
Image_Open:
IncludeBinary "C:\Program Files\PureBasic\Examples\Sources\Data\ToolBar\open.png"
Image_Save:
IncludeBinary "C:\Program Files\PureBasic\Examples\Sources\Data\ToolBar\save.png"
EndDataSection
IconOpen = CatchImage(#Image_Open, ?Image_Open)
IconSave = CatchImage(#Image_Save, ?Image_Save)
If OpenWindow(#WinApp, 200, 200, 200, 100, "Example")
If CreateImageMenu(#MenuApp, WindowID(#WinApp), #PB_Menu_ModernLook)
MenuTitle("File")
MenuItem(#Menu1, "Open", IconOpen)
MenuItem(#Menu2, "Save", IconSave)
MenuBar()
MenuItem(#Menu3, "Change image")
MenuBar()
MenuItem(#Menu4, "Quit")
EndIf
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Menu
indexMenu = EventMenu()
Debug indexMenu
Select indexMenu
Case 3
Debug "Comment réaliser cette action ? - That is the question."
; Action que je cherche a réaliser mais non supportée nativement dans PB
;SetGadgetAttribute(#Menu3, #PB_MenuItem_Image, ImageID(#Image_Quelconque))
Case 4 : End
Default
EndSelect
Case #PB_Event_CloseWindow : End
EndSelect
ForEver
EndIf
Merci a vous.
cage