Since version 6.21, the colors are no longer updated.
Is this a bug or an intended change?
ImageMenu : Les changements d'image dans les menus ne sont plus actualiser avec PB 6.21 Window.
Avec la version 6.20, le code ci-dessous fonctionne parfaitement.
depuis la version 6.21, les couleurs ne sont plus mises à jour.
Est-ce là un BUG ou une modification voulue ?
Code: Select all
; Version PB 6.20 : Les changements de couleur s'effectuent correctement
; Version PB 6.21 : Les changements de couleur ne sont plus mises à jour
Global .s Titre = "Test"
Global .i ColAiguilleH = #Red
Global .i ColAiguilleM = #Green
Global .i ColAiguilleS = #Blue
Enumeration FormMenu
#MenuItem_CouleurH
#MenuItem_CouleurM
#MenuItem_CouleurS
#MenuItem_Quitter
EndEnumeration
Global .i Image_Couleur_Heure = CreateImage ( #PB_Any , 16 , 16 , 32 )
Global .i Image_Couleur_Minute = CreateImage ( #PB_Any , 16 , 16 , 32 )
Global .i Image_Couleur_Seconde = CreateImage ( #PB_Any , 16 , 16 , 32 )
StartDrawing ( ImageOutput( Image_Couleur_Heure ) )
Box ( 0 , 0 , 16 , 16 , ColAiguilleH )
StopDrawing ( )
StartDrawing ( ImageOutput( Image_Couleur_Minute ) )
Box ( 0 , 0 , 16 , 16 , ColAiguilleM )
StopDrawing ( )
StartDrawing ( ImageOutput( Image_Couleur_Seconde ) )
Box ( 0 , 0 , 16 , 16 , ColAiguilleS )
StopDrawing ( )
Global .i Option = #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_BorderLess
Global .i Win_0 = OpenWindow(#PB_Any, #PB_Ignore , #PB_Ignore , 300 , 200, Titre , Option )
WindowBounds ( Win_0 , 300 , 200 , #PB_Ignore , #PB_Ignore )
SetWindowColor ( Win_0 , #Black )
CreateImageMenu ( 0 , WindowID( Win_0 ) )
MenuTitle("Menu")
OpenSubMenu("Couleur")
MenuItem( #MenuItem_CouleurH , "Heure" , ImageID( Image_Couleur_Heure ) )
MenuItem( #MenuItem_CouleurM , "Minute" , ImageID( Image_Couleur_Minute ) )
MenuItem( #MenuItem_CouleurS , "Seconde" , ImageID( Image_Couleur_Seconde ) )
CloseSubMenu()
MenuBar()
MenuItem( #MenuItem_Quitter , "Quitter" )
;*********************
;* Boucle principale *
;*********************
;- Boucle de gestion des evenements
Repeat
Evenement = WaitWindowEvent( )
Select Evenement
Case #PB_Event_CloseWindow ;{
End
;}
Case #PB_Event_Menu ;{
Select EventMenu()
Case #MenuItem_CouleurH ;{
Couleur = ColorRequester()
If Couleur > -1
ColAiguilleH = Couleur
StartDrawing( ImageOutput( Image_Couleur_Heure ) )
Box( 0 , 0 , 16 , 16 , ColAiguilleH )
StopDrawing()
EndIf
;}
Case #MenuItem_CouleurM ;{
Couleur = ColorRequester()
If Couleur > -1
ColAiguilleM = Couleur
StartDrawing( ImageOutput( Image_Couleur_Minute ) )
Box( 0 , 0 , 16 , 16 , ColAiguilleM )
StopDrawing()
EndIf
;}
Case #MenuItem_CouleurS ;{
Couleur = ColorRequester()
If Couleur > -1
ColAiguilleS = Couleur
StartDrawing( ImageOutput( Image_Couleur_Seconde ) )
Box( 0 , 0 , 16 , 16 , ColAiguilleS )
StopDrawing()
EndIf
;}
Case #MenuItem_Quitter ;{
End
;}
EndSelect
;}
EndSelect
Until Evenement = #PB_Event_CloseWindow