Page 1 sur 1

Erreur avec un SetGadgetColor

Publié : mer. 21/avr./2021 16:35
par grendizer
Bonjour dans mon code j'ai une erreur si je mets

Code : Tout sélectionner

SetGadgetColor(#Text, #PB_Gadget_FrontColor, $001FFF)
j'ai un message d'erreur le #gadgets spécifié n'est pas initialisé , j'ai fait comme sur la doc je vois pas du tout pourquoi cette erreur ....

Code : Tout sélectionner

EnableExplicit
;--Fenetres 
Enumeration Windows
  #Form_Main
EndEnumeration

;-- Gadgets 
Enumeration Main
    #Text

  
EndEnumeration



;-- Variables 
Global quitter 

;-- Procedures 
;-- Fermer une fenetre ou quitter le programme 
Procedure close()
  quitter = EventWindow()
  CloseWindow_(quitter)
  If quitter=#Form_Main
    End
  EndIf  
  
  
EndProcedure
;-- Fenetre Main 
Procedure open_Main()
OpenWindow(#form_Main,0,0,500,420,"test ",#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
SetGadgetColor(#Text, #PB_Gadget_FrontColor, $001FFF)
TextGadget(#Text,10,10,100,20,"Prenom : ")
BindEvent(#PB_Event_CloseWindow,@Close(),#Form_Main)
EndProcedure

;-- Boucle du programme 
open_Main()

Repeat
  WaitWindowEvent()
  
  
ForEver



Re: Erreur avec un SetGadgetColor

Publié : mer. 21/avr./2021 16:49
par venom
C'est normale. Regarde bien l'exemple de la doc. Tu as mal regarder...

SetGadgetColor() doit etre appeler apres avoir creer le gadget pas avant. (un code est lu de haut en bas). Dans ton exemple tu veux coloré le gadget #Text Forcement comme tu l'a mis sous SetGadgetColor() et bien le gadget n'est pas encore creer. Donc crash

Code : Tout sélectionner

EnableExplicit
;--Fenetres 
Enumeration Windows
  #Form_Main
EndEnumeration

;-- Gadgets 
Enumeration Main
    #Text

  
EndEnumeration



;-- Variables 
Global quitter 

;-- Procedures 
;-- Fermer une fenetre ou quitter le programme 
Procedure close()
  quitter = EventWindow()
  CloseWindow_(quitter)
  If quitter=#Form_Main
    End
  EndIf  
  
  
EndProcedure
;-- Fenetre Main 
Procedure open_Main()
OpenWindow(#form_Main,0,0,500,420,"test ",#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
TextGadget(#Text,10,10,100,20,"Prenom : ")
SetGadgetColor(#Text, #PB_Gadget_FrontColor, $001FFF) ; <---- tu dois le mettre sous le TextGadget et non au dessus
BindEvent(#PB_Event_CloseWindow,@Close(),#Form_Main)
EndProcedure

;-- Boucle du programme 
open_Main()

Repeat
  WaitWindowEvent()
  
  
ForEver



@++

Re: Erreur avec un SetGadgetColor

Publié : mer. 21/avr./2021 16:58
par grendizer
Merci mon ami j'ai mal vu je pensez que l'on mettez avant