Imagegadget() et setgadgetstate()

Programmation d'applications complexes
sylvain38
Messages : 4
Inscription : dim. 28/mai/2006 18:48
Localisation : Grenoble

Imagegadget() et setgadgetstate()

Message par sylvain38 »

Bonjour,

j'utilise "setgadgetstata(#idgadget,etat)" pour actualiser l'image dans une fenêtre, le probléme la commande plante.

Dans le doc il est dit que si le paramétre "etat" est à 0, alors l'image disparait. Si on lui donne une nouvelle "ImageID()" l'ancienne est remplacer par la nouvelle image.

Code : Tout sélectionner

  
GraphID = CreateImage(#PB_Any,150,150)
  StartDrawing(ImageOutput(GraphID))
   Box(1,1,148,148,$FF88FF)
  StopDrawing()
  ImageGadgetID1 = ImageGadget(LT_PanelID,Px, Py, 150, 150, ImageID(GraphID)
......
.....
....
  StartDrawing(ImageOutput(GraphID))
  Box(1,1,148,148,$FF88FF)
  DrawingMode(1)
  DrawText(5,5,Str(LT_Number),$FFFFFF)
  DrawText(5,20,Str(LT_Rang),$FFFFFF)
  DrawText(5,40,Str(GraphID),$FFFFFF)
  StopDrawing()
  
  SetGadgetState(ImageGadgetID1,ImageID(GraphID))

J'utilise PB4.0.
Les identifiants sont tous correctes
Merci de votre aide.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

déjà signalé comme un bug, sans suite

Dri :(
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

tu devrais essayer en mettant

Code : Tout sélectionner

SetGadgetState(LT_PanelID, ImageID(GraphID)) 
Parce que ImageGadgetID1 est l'identifiant du gadget, et SetGadgetState() utilise le numéro.

J'ai fait ce code pour tester , ça fonctionne bien

Code : Tout sélectionner

OpenWindow(0, 0, 0, 245, 150, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
CreateImage(0,100,100)
CreateImage(1,100,100)
StartDrawing(ImageOutput(0))
  Box(0,0, 100, 100,$FF0000)
StopDrawing()
StartDrawing(ImageOutput(1))
  Box(0,0, 100, 100,$FF0FF0)
StopDrawing()

CreateGadgetList(WindowID(0))

ImageGadget(0,  10, 10, 100, 83, ImageID(0))                      ; imagegadget standard
ImageGadget(1, 130, 10, 100, 83, ImageID(1), #PB_Image_Border)     ; imagegadget avec cadre
ButtonGadget(2,10,125,210,20,"Change")



Repeat  
  Event = WaitWindowEvent()
  If event = #PB_Event_Gadget
    If EventGadget() = 2
      SetGadgetState(0,ImageID(1)) 
    EndIf  
  EndIf  
Until Event = #PB_Event_CloseWindow
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

ah ben tient je savais pas que ca avait été corrigé ca
merci pour l'info ^^

Dri
sylvain38
Messages : 4
Inscription : dim. 28/mai/2006 18:48
Localisation : Grenoble

Message par sylvain38 »

Erreur sur l'identifiant "ImageGadget()"

Merci cela fonctionne.
Répondre