Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [vb6] tasto premuto

  1. #1

    [vb6] tasto premuto

    ho un 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

  2. #2
    A naso, potresti inserire in un evento Timer, con intervallo settato a (esempio) 100 millisecondi un codice che utilizzi la API GetAsyncKeyState del tipo:

    codice:
    Static Counter as Integer = 0
    
    if GetAsyncKeyState(Codice Tasto) then
       Counter + = 1
    else
       'tasto sollevato
       If counter > 30 then
           --------------
       elseIf counter > 20 then
           --------------
       End If
       'azzero il counter
       Counter = 0
     End If

  3. #3
    Edit: if GetAsyncKeyState(Codice Tasto) <> 0 Then...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    La maggiorparte dei controlli - e anche l'ogetto Form - espongono gli eventi KeyDown e KeyUp. Memorizzando il valore restituito dalla funzione Timer durante il KeyDown in una variabile a livello di modulo, durante il KeyUp potrai facilmente calcolare quanti secondi sono trascorsi.

  5. #5
    Anche. Ma il metodo da te suggerito funziona solo quando il Form od i controlli hanno lo stato attivo, mentre GetAsyncKeyState funziona comunque...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Il form ha la proprietà KeyPreview proprio per queste situazioni.

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.