Bon entre temps j'ai trouvé la solution, mais le comportement est-il normal?
J'ai perdu plus d'une heure là-dessus

Je vous expose les faits :
Je vous met un code que j'ai réduit au maximum.
Regardez le 1er Frame3DGadget intitulé "Information de version" son cadre est doublé.
Par contre si on met en commentaire :
SetGadgetFont(#FRAME3D_InfoVersion, fontIdTrebuchet8)
Le Frame3DGadget est nickel
Ou si on remet le code d'origine et qu'à la place on met : EditorGadget(#EDITOR_MajDescription, 8, 8, 710, 300, #PB_Editor_ReadOnly) en commentaire, là aussi c'est nickel.
Alors je ne sais pas d'où le problème provient (Solution du problème dans le prochain code).
Voici le code foireux :
Code : Tout sélectionner
EnableExplicit
Define event.i, quit.i
;--------------------------------------------------------------------------------------------
;- Enumeration
;--------------------------------------------------------------------------------------------
Enumeration #PB_Compiler_EnumerationValue
; - Windows
#WINDOW_Maj
; - Gadgets
#FRAME3D_InfoVersion
#TEXT_InfoVersion_01
#TEXT_InfoVersion_02
#TEXT_InfoVersion_03
#TEXT_InfoVersion_04
#TEXT_InfoVersion_05
#PANEL_Main
#EDITOR_MajDescription
EndEnumeration
;--------------------------------------------------------------------------------------------
;- Declare
;--------------------------------------------------------------------------------------------
Declare Open_Window_Maj()
;--------------------------------------------------------------------------------------------
;- Fonts
;--------------------------------------------------------------------------------------------
Global fontIdTrebuchet8.i, fontIdTrebuchet10.i
fontIdTrebuchet8 = LoadFont(1, "Trebuchet MS", 8)
fontIdTrebuchet10 = LoadFont(2, "Trebuchet MS", 10)
;--------------------------------------------------------------------------------------------
;- Main
;--------------------------------------------------------------------------------------------
Open_Window_Maj()
;--------------------------------------------------------------------------------------------
;- Loop
;--------------------------------------------------------------------------------------------
Repeat
event = WaitWindowEvent()
If event = #PB_Event_CloseWindow ; If the user has pressed on the close button
quit = 1
EndIf
Until quit = 1
;--------------------------------------------------------------------------------------------
;- Procedures
;--------------------------------------------------------------------------------------------v
Procedure Open_Window_Maj()
If OpenWindow(#WINDOW_Maj, 10, 177, 752, 500, "A.I-Pifou, Maj - Vérification/Update des mises à jour.", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered) ;
; ma Frame3DGadget mis ici provoque une doublure du liseret de celle-ci.
Frame3DGadget(#FRAME3D_InfoVersion, 8, 5, 354, 54, "Information de version") ;
TextGadget(#TEXT_InfoVersion_01, 22, 22, 98, 16, "Version Actuelle : ")
TextGadget(#TEXT_InfoVersion_02, 122, 22, 55, 16, "2.0.1")
SetGadgetColor(#TEXT_InfoVersion_01, #PB_Gadget_FrontColor, RGB(255, 0, 0))
SetGadgetColor(#TEXT_InfoVersion_02, #PB_Gadget_FrontColor, RGB(255, 0, 0))
TextGadget(#TEXT_InfoVersion_03, 218, 22, 98, 16, "Dernière Version : ")
TextGadget(#TEXT_InfoVersion_04, 318, 22, 55, 16, "2.1.4")
TextGadget(#TEXT_InfoVersion_05, 110, 40, 150, 16, "Votre version n'est pas à jour")
SetGadgetColor(#TEXT_InfoVersion_05, #PB_Gadget_FrontColor, RGB(255, 0, 0))
;-
PanelGadget(#PANEL_Main, 10, 100, 732, 380)
; 1er onglet
AddGadgetItem(#PANEL_Main, -1, "Vérifier les mises à jour")
EditorGadget(#EDITOR_MajDescription, 8, 8, 710, 300, #PB_Editor_ReadOnly)
CloseGadgetList()
; Après avoir clos la GadgetList je met ma Frame3DGadget qui se trouve au dessus
; Frame3DGadget(#FRAME3D_InfoVersion, 8, 5, 354, 54, "Information de version") ;
; TextGadget(#TEXT_InfoVersion_01, 22, 22, 98, 16, "Version Actuelle : ")
; TextGadget(#TEXT_InfoVersion_02, 122, 22, 55, 16, "2.0.1")
;
; SetGadgetColor(#TEXT_InfoVersion_01, #PB_Gadget_FrontColor, RGB(255, 0, 0))
; SetGadgetColor(#TEXT_InfoVersion_02, #PB_Gadget_FrontColor, RGB(255, 0, 0))
;
; TextGadget(#TEXT_InfoVersion_03, 218, 22, 98, 16, "Dernière Version : ")
; TextGadget(#TEXT_InfoVersion_04, 318, 22, 55, 16, "2.1.4")
;
; TextGadget(#TEXT_InfoVersion_05, 110, 40, 150, 16, "Votre version n'est pas à jour")
; SetGadgetColor(#TEXT_InfoVersion_05, #PB_Gadget_FrontColor, RGB(255, 0, 0))
;/ Gadget Fonts
SetGadgetFont(#FRAME3D_InfoVersion, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_01, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_02, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_03, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_04, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_05, fontIdTrebuchet8)
; 1er onglet
SetGadgetFont(#PANEL_Main, fontIdTrebuchet8)
SetGadgetFont(#EDITOR_MajDescription, fontIdTrebuchet8)
EndIf
EndProcedure
J'ai mis le code de ma Frame3DGadget intitulé "Information de version" après le CloseGadgetList() de mon Panel et cela fonctionne très bien.
Code : Tout sélectionner
EnableExplicit
Define event.i, quit.i
;--------------------------------------------------------------------------------------------
;- Enumeration
;--------------------------------------------------------------------------------------------
Enumeration #PB_Compiler_EnumerationValue
; - Windows
#WINDOW_Maj
; - Gadgets
#FRAME3D_InfoVersion
#TEXT_InfoVersion_01
#TEXT_InfoVersion_02
#TEXT_InfoVersion_03
#TEXT_InfoVersion_04
#TEXT_InfoVersion_05
#PANEL_Main
#EDITOR_MajDescription
EndEnumeration
;--------------------------------------------------------------------------------------------
;- Declare
;--------------------------------------------------------------------------------------------
Declare Open_Window_Maj()
;--------------------------------------------------------------------------------------------
;- Fonts
;--------------------------------------------------------------------------------------------
Global fontIdTrebuchet8.i, fontIdTrebuchet10.i
fontIdTrebuchet8 = LoadFont(1, "Trebuchet MS", 8)
fontIdTrebuchet10 = LoadFont(2, "Trebuchet MS", 10)
;--------------------------------------------------------------------------------------------
;- Main
;--------------------------------------------------------------------------------------------
Open_Window_Maj()
;--------------------------------------------------------------------------------------------
;- Loop
;--------------------------------------------------------------------------------------------
Repeat
event = WaitWindowEvent()
If event = #PB_Event_CloseWindow ; If the user has pressed on the close button
quit = 1
EndIf
Until quit = 1
;--------------------------------------------------------------------------------------------
;- Procedures
;--------------------------------------------------------------------------------------------v
Procedure Open_Window_Maj()
If OpenWindow(#WINDOW_Maj, 10, 177, 752, 500, "A.I-Pifou, Maj - Vérification/Update des mises à jour.", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered) ;
; ma Frame3DGadget mis ici provoque une doublure du liseret de celle-ci.
; Frame3DGadget(#FRAME3D_InfoVersion, 8, 5, 354, 54, "Information de version") ;
; TextGadget(#TEXT_InfoVersion_01, 22, 22, 98, 16, "Version Actuelle : ")
; TextGadget(#TEXT_InfoVersion_02, 122, 22, 55, 16, "2.0.1")
;
; SetGadgetColor(#TEXT_InfoVersion_01, #PB_Gadget_FrontColor, RGB(255, 0, 0))
; SetGadgetColor(#TEXT_InfoVersion_02, #PB_Gadget_FrontColor, RGB(255, 0, 0))
;
; TextGadget(#TEXT_InfoVersion_03, 218, 22, 98, 16, "Dernière Version : ")
; TextGadget(#TEXT_InfoVersion_04, 318, 22, 55, 16, "2.1.4")
;
; TextGadget(#TEXT_InfoVersion_05, 110, 40, 150, 16, "Votre version n'est pas à jour")
; SetGadgetColor(#TEXT_InfoVersion_05, #PB_Gadget_FrontColor, RGB(255, 0, 0))
;-
PanelGadget(#PANEL_Main, 10, 100, 732, 380)
; 1er onglet
AddGadgetItem(#PANEL_Main, -1, "Vérifier les mises à jour")
EditorGadget(#EDITOR_MajDescription, 8, 8, 710, 300, #PB_Editor_ReadOnly)
CloseGadgetList()
; Après avoir clos la GadgetList je met ma Frame3DGadget qui se trouve au dessus
Frame3DGadget(#FRAME3D_InfoVersion, 8, 5, 354, 54, "Information de version") ;
TextGadget(#TEXT_InfoVersion_01, 22, 22, 98, 16, "Version Actuelle : ")
TextGadget(#TEXT_InfoVersion_02, 122, 22, 55, 16, "2.0.1")
SetGadgetColor(#TEXT_InfoVersion_01, #PB_Gadget_FrontColor, RGB(255, 0, 0))
SetGadgetColor(#TEXT_InfoVersion_02, #PB_Gadget_FrontColor, RGB(255, 0, 0))
TextGadget(#TEXT_InfoVersion_03, 218, 22, 98, 16, "Dernière Version : ")
TextGadget(#TEXT_InfoVersion_04, 318, 22, 55, 16, "2.1.4")
TextGadget(#TEXT_InfoVersion_05, 110, 40, 150, 16, "Votre version n'est pas à jour")
SetGadgetColor(#TEXT_InfoVersion_05, #PB_Gadget_FrontColor, RGB(255, 0, 0))
;/ Gadget Fonts
SetGadgetFont(#FRAME3D_InfoVersion, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_01, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_02, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_03, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_04, fontIdTrebuchet8)
SetGadgetFont(#TEXT_InfoVersion_05, fontIdTrebuchet8)
; 1er onglet
SetGadgetFont(#PANEL_Main, fontIdTrebuchet8)
SetGadgetFont(#EDITOR_MajDescription, fontIdTrebuchet8)
EndIf
EndProcedure
Mystère!!!!
La question, c'est surtout qu'est-ce qui se passerait si on avait des :
TextGadget,
PanelGadget
re-TextGadget
re-PanelGadget
Etc....
Il faudrait mettre en priorité tous les PanelGadget et ensuite tous les TextGadget dans son code ?
Je ne trouve pas ça très pratique.
Salut.