Differenze tra le versioni di "Oggetti scorrevoli"
Da Gambas-it.org - Wikipedia.
Riga 2: | Riga 2: | ||
Facciamo scorrere l'oggetto da destra verso sinistra: | Facciamo scorrere l'oggetto da destra verso sinistra: | ||
− | + | Private c As Short | |
Riga 8: | Riga 8: | ||
<FONT color=gray>' ''Facciamo partire l'oggetto dall'esterno a destra del Form:''</font> | <FONT color=gray>' ''Facciamo partire l'oggetto dall'esterno a destra del Form:''</font> | ||
− | + | c = FMain.W | |
'''End''' | '''End''' | ||
− | |||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() | ||
Riga 22: | Riga 21: | ||
'''End''' | '''End''' | ||
− | |||
'''Public''' Sub Timer1_Timer() | '''Public''' Sub Timer1_Timer() | ||
− | + | Button1.X = c | |
− | <FONT color=gray>' ''La posizione dell'oggetto decrementa di volta in volta, | + | <FONT color=gray>' ''La posizione dell'oggetto decrementa di volta in volta, dando così l'effetto dello scorrimento verso sinistra:''</font> |
− | + | c -= 1 | |
− | |||
− | <FONT color=gray>' ''Se l'oggetto è totalmente al di fuori sulla sinistra del Form, | + | <FONT color=gray>' ''Se l'oggetto è totalmente al di fuori sulla sinistra del Form, allora ricominciamo subito da capo:''</font> |
− | + | If c = Button1.W * -1 Then c = FMain.W | |
− | If | ||
'''End''' | '''End''' | ||
Riga 40: | Riga 36: | ||
Lo scorrimento da sinistra verso destra sarà, invece, ottenuto così: | Lo scorrimento da sinistra verso destra sarà, invece, ottenuto così: | ||
− | + | Private c As Short | |
Riga 46: | Riga 42: | ||
<FONT color=gray>' ''Facciamo partire l'oggetto dall'esterno a sinistra del Form:''</font> | <FONT color=gray>' ''Facciamo partire l'oggetto dall'esterno a sinistra del Form:''</font> | ||
− | + | c = Button1.W * -1 | |
'''End''' | '''End''' | ||
− | |||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() | ||
Riga 60: | Riga 55: | ||
'''End''' | '''End''' | ||
− | |||
'''Public''' Sub Timer1_Timer() | '''Public''' Sub Timer1_Timer() | ||
− | + | Button1.X = c | |
− | <FONT color=gray>' ''La posizione dell'oggetto aumenta di volta in volta, | + | <FONT color=gray>' ''La posizione dell'oggetto aumenta di volta in volta, dando così l'effetto dello scorrimento verso destra:''</font> |
− | + | c += 1 | |
− | |||
− | <FONT color=gray>' ''Se l'oggetto è totalmente al di fuori sulla destra del Form, | + | <FONT color=gray>' ''Se l'oggetto è totalmente al di fuori sulla destra del Form, allora ricominciamo subito da capo:''</font> |
− | + | If c = FMain.W Then c = Button1.W * -1 | |
− | If | ||
'''End''' | '''End''' | ||
Riga 78: | Riga 70: | ||
Ora facciamo scorrere un oggetto dall'alto in basso e viceversa: | Ora facciamo scorrere un oggetto dall'alto in basso e viceversa: | ||
− | + | Private c As Short | |
− | + | Private h As Short | |
'''Public''' Sub Form_Open() | '''Public''' Sub Form_Open() | ||
− | + | Me.Height = Desktop.Height | |
− | + | Me.Width = Desktop.Width | |
− | + | Timer1.Delay = 3 | |
− | + | Timer1.Start() | |
− | |||
− | |||
+ | '''End''' | ||
'''Public''' Sub Timer1_Timer() | '''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''' | '''End''' |
Versione delle 08:06, 14 giu 2023
Per far scorrere un oggetto, ad esempio un Button sul Form, si potrà adottare il seguente codice. Si farà uso anche di un Timer.
Facciamo scorrere l'oggetto da destra verso sinistra:
Private c As Short Public Sub Form_Open() ' Facciamo partire l'oggetto dall'esterno a destra del Form: c = FMain.W End Public Sub Button1_Click() With Timer1 .Enabled = True ' Impostiamo la velocità di scorrimento dell'oggetto: .Delay = 50 End With End Public Sub Timer1_Timer() Button1.X = c ' La posizione dell'oggetto decrementa di volta in volta, dando così l'effetto dello scorrimento verso sinistra: c -= 1 ' Se l'oggetto è 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() ' Facciamo partire l'oggetto dall'esterno a sinistra del Form: c = Button1.W * -1 End Public Sub Button1_Click() With Timer1 .Enabled = True ' Impostiamo la velocità di scorrimento dell'oggetto: .Delay = 50 End With End Public Sub Timer1_Timer() Button1.X = c ' La posizione dell'oggetto aumenta di volta in volta, dando così l'effetto dello scorrimento verso destra: c += 1 ' Se l'oggetto è 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 dall'alto in basso e viceversa:
Private c As Short Private h As Short Public Sub Form_Open() Me.Height = Desktop.Height Me.Width = Desktop.Width Timer1.Delay = 3 Timer1.Start() 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