Page 1 sur 1

Imagegadget() et setgadgetstate()

Publié : mer. 19/juil./2006 9:03
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.

Publié : mer. 19/juil./2006 9:47
par Dr. Dri
déjà signalé comme un bug, sans suite

Dri :(

Publié : mer. 19/juil./2006 10:07
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

Publié : mer. 19/juil./2006 10:13
par Dr. Dri
ah ben tient je savais pas que ca avait été corrigé ca
merci pour l'info ^^

Dri

Publié : mer. 19/juil./2006 10:47
par sylvain38
Erreur sur l'identifiant "ImageGadget()"

Merci cela fonctionne.