Differenze tra le versioni di "Oggetti scorrevoli"

Da Gambas-it.org - Wikipedia.
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Per far scorrere un oggetto, ad esempio un ''Button'' sul ''Form'', si potrà adottare il seguente codice. Si farà uso anche di un ''Timer''.
+
Per far scorrere un Oggetto grafico, ad esempio un ''Button'' sul ''Form'', si potrà adottare il seguente codice. Si farà uso anche di un ''Timer''. <SUP>&#091;[[#Note|nota 1]]&#093;</sup>
  
Facciamo scorrere l'oggetto da destra verso sinistra:
+
Facciamo scorrere l'Oggetto grafico da destra verso sinistra:
  '''Private''' a As Short
+
  Private c As Short
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
   
 
   
  <FONT color=gray>' ''Facciamo partire l'oggetto dall'esterno a destra del Form:''</font>
+
  <FONT color=gray>' ''Fa partire l'Oggetto grafico dall'esterno a destra del Form:''</font>
  a = FMain.W
+
  c = FMain.W
 
   
 
   
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
   
 
   
 
   With Timer1
 
   With Timer1
    .Enabled = True
+
  <FONT color=gray>' ''Imposta la velocità di scorrimento dell'Oggetto grafico:''</font>
  <FONT color=gray>' ''Impostiamo la velocità di scorrimento dell'oggetto:''</font>
 
 
     .Delay = 50
 
     .Delay = 50
 +
    .Start
 
   End With
 
   End With
 
    
 
    
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Timer1_Timer()
+
  Public Sub Timer1_Timer()
 
   
 
   
  Button1.X = a
+
  Button1.X = c
 
   
 
   
  <FONT color=gray>' ''La posizione dell'oggetto decrementa di volta in volta,''
+
  <FONT color=gray>' ''La posizione dell'Oggetto grafico decrementa di volta in volta, dando così l'effetto dello scorrimento verso sinistra:''</font>
' ''dando così l'effetto dello scorrimento verso sinistra:''</font>
+
  c -= 1
  a -= 1
 
 
   
 
   
  <FONT color=gray>' ''Se l'oggetto è totalmente al di fuori sulla sinistra del Form,''
+
  <FONT color=gray>' ''Se l'Oggetto grafico è totalmente al di fuori sulla sinistra del Form, allora ricominciamo subito da capo:''</font>
' ''allora ricominciamo subito da capo:''</font>
+
  If c = Button1.W * -1 Then c = FMain.W
  If a = Button1.W * -1 Then a = FMain.W
 
 
   
 
   
  '''End'''
+
  End
 
 
 
 
 
Lo scorrimento da sinistra verso destra sarà, invece, ottenuto così:
 
Lo scorrimento da sinistra verso destra sarà, invece, ottenuto così:
  '''Private''' a As Short
+
  Private c As Short
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
   
 
   
  <FONT color=gray>' ''Facciamo partire l'oggetto dall'esterno a sinistra del Form:''</font>
+
  <FONT color=gray>' ''Fa partire l'Oggetto grafico dall'esterno a sinistra del Form:''</font>
  a = Button1.W * -1
+
  c = Button1.W * -1
 
   
 
   
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
   
 
   
 
   With Timer1
 
   With Timer1
    .Enabled = True
+
  <FONT Color=gray>' ''Imposta la velocità di scorrimento dell'Oggetto grafico:''</font>
  <FONT color=gray>' ''Impostiamo la velocità di scorrimento dell'oggetto:''</font>
 
 
     .Delay = 50
 
     .Delay = 50
 +
    .Start
 
   End With
 
   End With
 
    
 
    
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Timer1_Timer()
+
  Public Sub Timer1_Timer()
 
   
 
   
  Button1.X = a
+
  Button1.X = c
 
   
 
   
  <FONT color=gray>' ''La posizione dell'oggetto aumenta di volta in volta,''
+
  <FONT color=gray>' ''La posizione dell'Oggetto grafico aumenta di volta in volta, dando così l'effetto dello scorrimento verso destra:''</font>
' ''dando così l'effetto dello scorrimento verso destra:''</font>
+
  c += 1
  a += 1
 
 
   
 
   
  <FONT color=gray>' ''Se l'oggetto è totalmente al di fuori sulla destra del Form,''
+
  <FONT color=gray>' ''Se l'Oggetto grafico è totalmente al di fuori sulla destra del Form, allora ricominciamo subito da capo:''</font>
' ''allora ricominciamo subito da capo:''</font>
+
  If c = FMain.W Then c = Button1.W * -1
  If a = FMain.W Then a = Button1.W * -1
 
 
   
 
   
 
  '''End'''
 
  '''End'''
 
+
Ora facciamo scorrere un Oggetto grafico dall'alto in basso e viceversa:
 
+
  Private c As Short
Ora facciamo scorrere un oggetto dall'alto in basso e viceversa:
+
  Private h As Short
  '''Private''' a As Short
+
  '''Private''' b As Short
+
 +
Public Sub Form_Open()
 +
 +
  With Me
 +
    .Height = Desktop.Height 
 +
    .Width = Desktop.Width
 +
  End With
 
   
 
   
 +
  With Timer1
 +
    .Delay = 3
 +
    .Start
 +
  End With
 
   
 
   
  '''Public''' Sub Form_Open()
+
  End   
 
   
 
   
   Me.Height = Desktop.Height 
+
    
  Me.Width = Desktop.Width 
+
  Public Sub Timer1_Timer()   
     
 
  Timer1.Delay = 3
 
  Timer1.Start()
 
     
 
'''End'''
 
     
 
     
 
  '''Public''' Sub Timer1_Timer()   
 
 
   
 
   
  Button1.Y = a
+
  Button1.Y = c
           
+
 
  If a = Desktop.Height - Button1.Height Then b = -1
+
  If c = Desktop.Height - Button1.Height Then h = -1
  If a = 0 Then b = 1
+
  If c = 0 Then h = 1
 
   
 
   
  a += b
+
  c += h
 
   
 
   
  '''End'''
+
  End
 +
 
 +
 
 +
 
 +
=Note=
 +
[1] Vedere anche questa pagina: [[Immagine scorrevole]]

Versione attuale delle 16:38, 13 set 2023

Per far scorrere un Oggetto grafico, ad esempio un Button sul Form, si potrà adottare il seguente codice. Si farà uso anche di un Timer. [nota 1]

Facciamo scorrere l'Oggetto grafico da destra verso sinistra:

Private c As Short


Public Sub Form_Open()

' Fa partire l'Oggetto grafico dall'esterno a destra del Form:
 c = FMain.W

End


Public Sub Button1_Click()

 With Timer1
' Imposta la velocità di scorrimento dell'Oggetto grafico:
   .Delay = 50
   .Start
 End With
 
End


Public Sub Timer1_Timer()

 Button1.X = c

' La posizione dell'Oggetto grafico decrementa di volta in volta, dando così l'effetto dello scorrimento verso sinistra:
 c -= 1

' Se l'Oggetto grafico è totalmente al di fuori sulla sinistra del Form, allora ricominciamo subito da capo:
 If c = Button1.W * -1 Then c = FMain.W

End

Lo scorrimento da sinistra verso destra sarà, invece, ottenuto così:

Private c As Short


Public Sub Form_Open()

' Fa partire l'Oggetto grafico dall'esterno a sinistra del Form:
 c = Button1.W * -1

End


Public Sub Button1_Click()

 With Timer1
' Imposta la velocità di scorrimento dell'Oggetto grafico:
   .Delay = 50
   .Start
 End With
 
End


Public Sub Timer1_Timer()

 Button1.X = c

' La posizione dell'Oggetto grafico aumenta di volta in volta, dando così l'effetto dello scorrimento verso destra:
 c += 1

' Se l'Oggetto grafico è totalmente al di fuori sulla destra del Form, allora ricominciamo subito da capo:
 If c = FMain.W Then c = Button1.W * -1

End

Ora facciamo scorrere un Oggetto grafico dall'alto in basso e viceversa:

Private c As Short
Private h As Short


Public Sub Form_Open()

 With Me
   .Height = Desktop.Height  
   .Width = Desktop.Width
 End With

 With Timer1
   .Delay = 3
   .Start
 End With

End    

  
Public Sub Timer1_Timer()  

 Button1.Y = c 
  
 If c = Desktop.Height - Button1.Height Then h = -1
 If c = 0 Then h = 1

 c += h

End


Note

[1] Vedere anche questa pagina: Immagine scorrevole