Erreur avec un SetGadgetColor

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
grendizer
Messages : 59
Inscription : mer. 29/mai/2019 6:29

Erreur avec un SetGadgetColor

Message 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


Avatar de l’utilisateur
venom
Messages : 3071
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Erreur avec un SetGadgetColor

Message 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



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
grendizer
Messages : 59
Inscription : mer. 29/mai/2019 6:29

Re: Erreur avec un SetGadgetColor

Message par grendizer »

Merci mon ami j'ai mal vu je pensez que l'on mettez avant
Répondre