it's do the same problem this PanelGadget, you select first panel tab with key "Tab", you press right key and images disappear
------------------
Pareil avec le panelgadget, tu le sélectionnes avec les touches Tab et tu changes d'onglet avec la flèche droite, les images disparaissent
___________________________________________________
SolutionI find solution, you catch event #WM_KeyDown to redraw window, like this
La solution est de détecter l'évènement #WM_KeyDown pour forcer la fenêtre a se redessiner, mais c'est pas terrible comme solution
Code:
; Auteur : Le Soldat Inconnu
; Version de PB : 4.3
; Barre & Menu
;{- Paramètres
#Fenetre_L = 680
#Fenetre_H = 630
#Objet_Creer_Fenetre_L = 300
#Objet_Creer_Fenetre_H = 320
#Fenetre_B = 5
#Zone_Gerer_L = 160
#Zone_Editer_L = 230
#Zone_Apparence_L = 180
#Espace_V = 12
#Espace_H = 8
;}
Enumeration ; Gadgets et menus
#Zone_Creer
#Zone_Supprimer
#Zone_Renommer
#Zone_EditionApparence_Barre
#Zone_EditionApparence_Menu
#Onglet
#Editer_Arbre
#Editer_Element_Ajouter
#Editer_Element_Supprimer
EndEnumeration
; Création d'une icone
Global Icone
Image = CreateImage(#PB_Any, 16, 16, 32)
StartDrawing(ImageOutput(Image))
Box(0, 0, 10, 10, $FF00FF)
StopDrawing()
Icone = ImageID(Image)
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, #Fenetre_L + 2 * #Fenetre_B, #Fenetre_H + 2 * #Fenetre_B, "Fenetre", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget | #PB_Window_Invisible) = 0
End
EndIf
x = #Fenetre_B
y = #Fenetre_B
ButtonImageGadget(#Zone_Creer, x, y, #Zone_Gerer_L, 28, Icone)
y + GadgetHeight(#Zone_Creer)
ButtonImageGadget(#Zone_Renommer, x, y, #Zone_Gerer_L, 28, Icone)
y + GadgetHeight(#Zone_Renommer)
ButtonImageGadget(#Zone_Supprimer, x, y, #Zone_Gerer_L, 28, Icone)
y + GadgetHeight(#Zone_Supprimer) + #Espace_V
x = #Fenetre_B + #Zone_Gerer_L + #Espace_H
y = #Fenetre_B
PanelGadget(#Onglet, x, y, #Fenetre_L - x + #Fenetre_B, #Fenetre_H - y + #Fenetre_B)
AddGadgetItem(#Onglet, 0, "Onglet", Icone)
Largeur = GetGadgetAttribute(#Onglet, #PB_Panel_ItemWidth) - #Fenetre_B * 2
Hauteur = GetGadgetAttribute(#Onglet, #PB_Panel_ItemHeight) - #Fenetre_B * 2
x = #Fenetre_B
y = #Fenetre_B
TreeGadget(#Editer_Arbre, x, y, Largeur - #Zone_Editer_L - #Espace_H, Hauteur, #PB_Tree_AlwaysShowSelection)
x + Largeur - #Zone_Editer_L
ButtonImageGadget(#Editer_Element_Ajouter, x, y, #Zone_Editer_L / 2, 28, Icone)
ButtonImageGadget(#Editer_Element_Supprimer, x + #Zone_Editer_L - #Zone_Editer_L / 2, y, #Zone_Editer_L / 2, 28, Icone)
AddGadgetItem(#Onglet, 1, "onglet 2", Icone)
CloseGadgetList()
; On affichage la fenêtre principale
HideWindow(0, 0)
Repeat
Event = WaitWindowEvent(10)
Select EventWindow()
;{- Fenêtre principale
Case 0
Select Event
Case #PB_Event_CloseWindow
Quitter = 1
Case #WM_KEYDOWN
RedrawWindow_(WindowID(0), 0, 0, #RDW_INTERNALPAINT)
EndSelect
;}
EndSelect
Until Quitter
End