Page 1 sur 1

Problème avec ScrollAreaGadget

Publié : mer. 22/févr./2006 16:33
par wolfjeremy
Salut, j'ai fait un ScrollAreaGadget, en dessous je met mes boutons, et apparement sa ne marche pas ! pouvez vous m'aider ? voici le code :


OpenFile (0, "cds.dat" )

   CreateGadgetList ( WindowID () )
 
   ScrollAreaGadget ( #gadget_scrollarea , 18, 319, 472, 285, 285, 570, 10, #PB_ScrollArea_BorderLess )
    ButtonGadget ( #gadget_bouton_1 , 19, 340, 76, 15, ReadString () )
   CloseGadgetList ()

  CloseFile (0)



Le ScrollAreaGadget marche, mais les boutons ne sont pas afficher.

Merci d'avance pour votre réponse.

Publié : mer. 22/févr./2006 17:11
par Flype
salut,
ya quoi dans cds.dat ?
moi je n'ai pas de problème avec ce gadget...

Publié : mer. 22/févr./2006 17:12
par wolfjeremy
le nom du bouton. j'ai esseyer en metant directement le nom du bouton et sa change rien...

Publié : mer. 22/févr./2006 17:21
par Flype

Code : Tout sélectionner

If OpenWindow(0, 150, 150, 320, 240, #PB_Window_SystemMenu, "PureBasic - Windows BMP Menu") 
  If CreateGadgetList(WindowID(0)) 
    If ScrollAreaGadget (1, 5, 5, 310, 230, 310, 800, 10, #PB_ScrollArea_Single ) 
      ButtonGadget(2 , 19, 100, 76, 15,"test1") 
      ButtonGadget(3 , 100, 150, 76, 15,"test2") 
      CloseGadgetList()
      Debug "ok"
    EndIf
  EndIf
EndIf

Repeat 
  Select WaitWindowEvent() 
    Case #PB_Event_CloseWindow 
      Break
  EndSelect 
ForEver
hum, lol, évidemment, si tu mets des coordonnées qui ne permettent pas de voir les gadgets, çà donne l'impression que çà marche pas... parcequ'en fait tout marche bien...
:D

Publié : mer. 22/févr./2006 17:23
par Flype
tip:
c'est pour çà que quand je développe une nouvelle interface je ne mets jamais #PB_xxx_Borderless, ensuite je le remets...
:wink:

Publié : mer. 22/févr./2006 17:30
par wolfjeremy
Ben je capte pas car mes coordonée sont bonne :(

Publié : mer. 22/févr./2006 17:35
par RegisLG
Salut,

je viens de tester "vite-fait" sur la v4 beta 3, ça fonctionne. J'ai cree un petit fichier texte "cds.dat" avec le bloc-notes contenant juste "MonBouton" et en reprenant ton code de départ :

Code : Tout sélectionner

OpenFile (0, "C:\Documents and Settings\Administrateur\Bureau\cds.dat" ) 

Enumeration 
#gadget_scrollarea
#gadget_bouton_1
EndEnumeration

OpenWindow(0,0,0,640,480,#PB_Window_SystemMenu,"MaFenetre")
   CreateGadgetList ( WindowID (0) ) 
  
   ScrollAreaGadget ( #gadget_scrollarea , 18, 319, 472, 285, 285, 570, 10, #PB_ScrollArea_BorderLess ) 
    ButtonGadget ( #gadget_bouton_1 , 19, 340, 76, 15, ReadString (0) ) 
   CloseGadgetList () 

  CloseFile (0)
Repeat
 EventID = WaitWindowEvent()
Until EventID = #PB_Event_CloseWindow

End
EDIT : le temps de taper, et déjà flype t'avait donné le bon exemple à suivre :)

Publié : mer. 22/févr./2006 17:40
par wolfjeremy
:? c'est bizar que chez vous sa fonctione et pas chez moi 8O

Publié : mer. 22/févr./2006 17:49
par Flype
et ce code là, il marche chez toi ?

Code : Tout sélectionner


If CreateFile(0,"C:\cds.dat")
  WriteStringN(0,"bouton 1,10,10,100,30")
  WriteStringN(0,"bouton 2,10,50,120,40")
  WriteStringN(0,"bouton 3,10,90,80,60")
  CloseFile(0)
EndIf

If OpenWindow(0,0,0,640,480,#PB_Window_SystemMenu,"MaFenetre") 
  
  If CreateGadgetList(WindowID(0)) 
    If ScrollAreaGadget(0, 20, 100, 500, 285, 285, 570, 10, #PB_ScrollArea_BorderLess ) 
      If OpenFile(0,"C:\cds.dat") 
        While Not Eof(0)
          l.s = ReadString(0)
          t.s = StringField(l,1,",")
          x.l = Val(StringField(l,2,","))
          y.l = Val(StringField(l,3,","))
          w.l = Val(StringField(l,4,","))
          h.l = Val(StringField(l,5,","))
          ButtonGadget(#PB_Any, x, y, w, h, t ) 
        Wend
        CloseFile(0) 
      EndIf
      CloseGadgetList()
    EndIf
  EndIf
  
  Repeat 
    EventID = WaitWindowEvent() 
  Until EventID = #PB_Event_CloseWindow
  
EndIf

End

Publié : mer. 22/févr./2006 17:53
par wolfjeremy
Non, j'ai juste la version 3.94 de purebasic (demo)

Publié : mer. 22/févr./2006 18:51
par Flype
ah ok, celui là doit marcher alors

Code : Tout sélectionner

If CreateFile(0,"C:\cds.dat") 
  WriteStringN("bouton 1,10,10,100,30") 
  WriteStringN("bouton 2,10,50,120,40") 
  WriteStringN("bouton 3,10,90,80,60") 
  CloseFile(0) 
EndIf
If OpenWindow(0,0,0,640,480,#PB_Window_SystemMenu,"MaFenetre") 
  If CreateGadgetList(WindowID(0))
    If ScrollAreaGadget(0, 20, 100, 500, 285, 285, 570, 10, #PB_ScrollArea_BorderLess ) 
      If OpenFile(0,"C:\cds.dat") 
        While Eof(0) = 0
          l.s = ReadString() 
          t.s = StringField(l,1,",") 
          x.l = Val(StringField(l,2,",")) 
          y.l = Val(StringField(l,3,",")) 
          w.l = Val(StringField(l,4,",")) 
          h.l = Val(StringField(l,5,",")) 
          ButtonGadget(#PB_Any, x, y, w, h, t ) 
        Wend
        CloseFile(0) 
      EndIf 
      CloseGadgetList() 
    EndIf 
  EndIf
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf

Publié : mer. 22/févr./2006 19:31
par wolfjeremy
effectivement il marche celui la.