Page 1 sur 1

ScrollArea qui laisse une "trainée" [Resolu]

Publié : dim. 30/août/2009 12:44
par lepiaf31
Bonjour, j'ai (encore) un probleme avec un scrollArea. Lorsque je place des gadgets dessus pour la première fois, tout se passe bien. Puis quand j'efface les gadgets pour en mettre de nouveaux, là il y a un probleme: quand on 'scrolle', il reste une trainée comme ceci:
Image

Je ne donne pas de code pour le moment car il y a enormement de ligne. Je vais essayer d'isoler le bout de code qui pose problème avant de le poster

Merci

Publié : dim. 30/août/2009 14:22
par Ar-S
pas sûr mais ce ne serait pas une histoire de delay (tout petit) à ajouter ?

Publié : dim. 30/août/2009 14:44
par poshu
plutôt nettoyer le gadget, non? y'a une fonction pour ça dans l'api.

Publié : mer. 02/sept./2009 12:58
par lepiaf31
Bon voila j'ai fait un code qui isole le problème:

Code : Tout sélectionner

OpenWindow(0, 0, 0, 300, 300, "TEST", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ButtonGadget(0, 5, 5, 120, 30, "clic")
ScrollAreaGadget(1, 5, 50, 250, 200, 240, 800, 10, #PB_ScrollArea_BorderLess)
TextGadget(2, 5, 5, 100, 20, "Du texte")
CloseGadgetList()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Break
    Case #PB_Event_Gadget
      If EventGadget() = 0 ;bouton
        FreeGadget(2)
        UseGadgetList(GadgetID(1))
        TextGadget(2, 5, 5, 100, 20, "Autre texte")
      EndIf
  EndSelect
ForEver
Cliquez sur le bouton et dans un premier temps le nouveau texte n'apparait pas et puis quand on scrolle, le texte apparait et laisse une trainée comme ceci:
Image

Alors je ne sais pas si ça fait pareil chez vous mais c'est très embetant.

Publié : mer. 02/sept./2009 13:10
par gnozal

Code : Tout sélectionner

OpenWindow(0, 0, 0, 300, 300, "TEST", #PB_Window_SystemMenu|#PB_Window_ScreenCentered) 
ButtonGadget(0, 5, 5, 120, 30, "clic") 
ScrollAreaGadget(1, 5, 50, 250, 200, 240, 800, 10) 
  TextGadget(2, 5, 5, 100, 20, "Du texte") 
CloseGadgetList() 

Repeat 
  Select WaitWindowEvent() 
    Case #PB_Event_CloseWindow 
      Break 
    Case #PB_Event_Gadget 
      If EventGadget() = 0 ;bouton 
        FreeGadget(2) 
        OpenGadgetList(1) 
          TextGadget(2, 5, 5, 100, 20, "Autre texte") 
        CloseGadgetList() 
      EndIf 
  EndSelect 
ForEver
OpenGadgetList(#Gadget [, Element]) : pour les gadgets -> http://www.purebasic.com/french/documen ... tlist.html
UseGadgetlist(WindowID) : pour les fenêtres -> http://www.purebasic.com/french/documen ... tlist.html

Publié : mer. 02/sept./2009 13:58
par lepiaf31
Ha oui ... Honte à moi erreur stupide ... :oops:

Merci =)