Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [vb6] Fermare Comando

  1. #1

    [vb6] Fermare Comando

    ciao a tutti,
    mi presento sono giuseppe e, dopo una lunga esperienza con pascal, mi sto dedicando al vb6
    mi servirebbe una mano... allora io ho un quadrato --shape1-- all'interno di 4 linee,
    il quadrato si muove grazie a comandi keydown...
    ora vorrei che se il quadrato tocca una linea... il comando vbkeyleft non valga piu..
    ovve che --> io continuo a schiacciare vbkeyleft (gia fatto)... il quadrato si muove... il quadrato arriva a contatto con la linea sinistra... il quadrato non si potra muovere piu a sinistra bensi solo a destra, alto o basso...
    in poche parole vorrei che il programma non leggesse piu vbkeyleft... solo quando arriva a contatto con la linea
    spero sia stato chiaro...
    grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Studiare adesso VB6 non è una gran scelta ... passa a VB.NET o meglio C# ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    eh gia sono d'accordo con te... ma sai... non decido io ... ordini dall'alto
    sai fornirmi una soluzione ?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per il tuo problema, devi confrontare opportunamente le coordinate dei controlli in movimento e delle linee (suppongo non disegnate ma controlli Line).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    esempio
    codice:
    Option Explicit
    Dim lim_up, lim_down, lim_left, lim_right As Integer
    
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyUp
            If Shape1.Top <= lim_up Then Exit Sub
            Shape1.Top = Shape1.Top - 10
            
        Case vbKeyDown
            If Shape1.Top >= lim_down - Shape1.Height Then Exit Sub
            Shape1.Top = Shape1.Top + 10
        
        Case vbKeyLeft
            If Shape1.Left <= lim_left Then Exit Sub
            Shape1.Left = Shape1.Left - 10
        
        Case vbKeyRight
            If Shape1.Left >= lim_right - Shape1.Width Then Exit Sub
            Shape1.Left = Shape1.Left + 10
    End Select
    End Sub
    
    Private Sub Form_Load()
    lim_up = Line1.Y1
    lim_down = Line2.Y1
    lim_left = Line3.X1
    lim_right = Line4.X1
    End Sub

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In VB6, in questo modo

    codice:
    Dim lim_up, lim_down, lim_left, lim_right As Integer
    solo l'ultima variabile è di tipo Integer ... le altre sono Variant ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    mi frega sempre

  8. #8

    tasto premuto per x secondi

    ciao, grazie per le risposte, purtroppo non sono stato a casa e non ho potuto avvisarvi che funziona
    ora pero ho un altro problema... in vb6 esiste un modo per capire per quanti secondi è stato premuto un tasto?
    tipo...
    se è stato premuto per 2 secondi allora
    l' immagine si sposta verso destra di 1
    se è stato premuto per 3 secondi allora
    l'immagine si sposta verso destra di 2
    e cosi via...
    grazie in anticipo per i vostri preziosissimi suggerimenti
    peppegiuseppe

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Questo è un altro quesito e per regolamento va aperto un thread apposito ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.