Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Far scorrere una barra di scorrimento se un oggetto arriva al limite della form
Forum - Visual Basic 6 - Far scorrere una barra di scorrimento se un oggetto arriva al limite della form

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
alceus (Normal User)
Pro


Messaggi: 61
Iscritto: 11/06/2008

Segnala al moderatore
Postato alle 15:45
Lunedì, 23/06/2008
Ciao, ho un problema:
in una form ho un oggetto che, attraverso i tasti della tastiera, faccio muovere sulla form. Volendo piazzare nella form una barra di scorrimento, come faccio a farla scorrere quando l'oggetto raggiunge il margine (ad esempio inferiore) della form, in modo da poterlo ancora vedere?
Spero di essere stato chiaro
Grazie

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 17:30
Lunedì, 23/06/2008
una soluzione è quella di mettere in una picturebox (molto vasta)tt gli altri oggetti, e poi muovi la picturebox sul form, e muovendo la picturebox si muovono di conseguenza anche gli oggetti al suo interno

PM Quote
Avatar
alceus (Normal User)
Pro


Messaggi: 61
Iscritto: 11/06/2008

Segnala al moderatore
Postato alle 17:47
Lunedì, 23/06/2008
Mi dispiace, ma con la picture box non funziona proprio:addirittura la stessa picture box non si muove...:(

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 17:49
Lunedì, 23/06/2008
passail codice e vediamo cosa nn va

PM Quote
Avatar
alceus (Normal User)
Pro


Messaggi: 61
Iscritto: 11/06/2008

Segnala al moderatore
Postato alle 17:53
Lunedì, 23/06/2008
Ok
Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2. Dim k As Integer ' Proprietà Top della Picture1
  3. Dim j As Integer ' Proprietà Left della Picture1
  4. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  5. k = Picture1.Top
  6. j = Picture1.Left
  7. If KeyCode = vbKeyUp Then
  8. Picture1.Top = k - 3000
  9. End If
  10. If KeyCode = vbKeyDown Then
  11. Picture1.Top = k + 3000
  12. End If
  13. If KeyCode = vbKeyLeft Then
  14. Picture1.Left = j - 3000
  15. End If
  16. If KeyCode = vbKeyRight Then
  17. Picture1.Left = j + 3000
  18. End If
  19. End Sub


PM Quote
Avatar
alceus (Normal User)
Pro


Messaggi: 61
Iscritto: 11/06/2008

Segnala al moderatore
Postato alle 17:55
Lunedì, 23/06/2008
ho impostato 3000 come distanza, ma è un numero indicativo, se ne può mettere anche un altro...

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 18:04
Lunedì, 23/06/2008
nn va perchè fai eseguire il codice quando si verifica l' evento keydown del form

invece devi spostare la picturebox quando l' oggetto che devi muovere scende sotto il livello dela form

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 18:11
Lunedì, 23/06/2008
del tipo
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2.     If txt.Top + txt.Height >= Picture1.Height Then
  3.         Picture1.Top = Picture1.Top + 300
  4.     Else
  5.         txt.Top = txt.Top + 300
  6.     End If
  7. End Sub


PM Quote
Avatar
alceus (Normal User)
Pro


Messaggi: 61
Iscritto: 11/06/2008

Segnala al moderatore
Postato alle 18:33
Lunedì, 23/06/2008
Il problema, purtroppo, è un altro: l'evento keydown va bene, è la picturebox che non si può muovere nella form. Se provi a sostituire la picture box con un oggetto shape, quest'ultimo si muove...

PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo