Newsgroup: it.comp.lang.visual-basic
Titolo: Permanenza su un pulsante

Mi serve sapere per quanto tempo il mouse si trova su un pulsante 
(indipendentemente dal fatto che si muova o no), o meglio dopo n secondi di 
permanenza sul pulsante devo avviare una funzione.
Come posso fare?
Grazie
Ghigo
*******************
www.ghigoweb.com
*******************

 
Evento MouseMove
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!


Ok, ci avevo pensato...
Ecco ciň che ho fatto:
Dim n as Integer
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single)
    Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
    n = n + 1
    If n = 10 Then Funzione
End Sub
Come faccio a bloccare il timer quando il mouse non č piů sopra il pulsante?
Ho fatto un po' di prove. Per esempio:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single)
    Timer1.Enabled = False
    n = 0
End Sub
Il problema č che se muovo abbastanza velocemente il mouse da Command1 ad un 
altro oggetto che non sia il Form, l'evento Form_MouseMove non viene 
attivato.
Suggerimenti?
Grazie!
Ciao
Ghigo
*******************
www.ghigoweb.com
******************* 

 End Sub
in questo modo potresti scrivere questo:
Private Sub Form1_Load()
   Timer.Enabled = False
   Timer1.Interval = 10000
End Sub
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As
 Single, Y As Single)
   Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
   Funzione
   Timer.Enabled = False
End Sub
"Ghigo" <ghigonetNO@SP_AMfastwebnet.it> ha scritto nel messaggio 
news:bKHod.7708$C94....@tornado.fastwebnet.it...


 Suggerimenti?
disclaimer: sto parlando di una cosa che non conosco e che non ho mai
fatto.
potrei dire una serie di cazzate.
dovrebbe esserci, da qualche parte, una funzione della api che permette di
catturare il mouse: cerca setcapture.
in questo modo, anche se il cursore esce dal pulsante, continui a ricevere
il mousemove, in questo modo puoi vedere quando esce dai bordi, e in quel
momento lo rilasci, con, credo, releasecapture
quindi con il primo mousemove sai quando entra, da lě cominci a "contare",
se finisci di contare che il topo č ancora lě sopra, fai quello che devi
fare.
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Suggerimenti?
Da una FAQ del newsgroup (forse c'e' anche sul Sito Comune):
Declare Function GetCapture Lib "user32" () As Long
Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Declare Function ReleaseCapture Lib "user32" () As Long
Public Function MouseOver(Ctrl As Control, ByVal X As Single _
                , ByVal Y As Single) As Long
' Restituisce
' -1 : esce
'  0 : dentro
'  1 : entra
If (GetCapture <> Ctrl.hwnd) Then
    Call SetCapture(Ctrl.hwnd)
    MouseOver = 1
Else
    If ((X < 0 Or X > Ctrl.Width) Or (Y < 0 Or Y > Ctrl.Height)) Then
        Call ReleaseCapture
        MouseOver = -1
    Else
        MouseOver = 0
    End If
End If
End Function
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer _
                            , X As Single, Y As Single)
Select Case MouseOver(Command1, X, Y)
Case -1
    Debug.Print "sono uscito da Command1"
Case 1
    Debug.Print "sono entrato in Command1"
Case Else
    Debug.Print "sono sempre dentro Command1"
End Select
End Sub
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown 


[CUT]
Ahi, mi sono fatto sfuggire la FAQ!!! Sorry :(
Eppure ho guardato sul sito comune...
Spesso il mio problema č che non so esattamente cosa cercare. Magari la 
soluzione in rete c'č, facile da trovare, ma mi manca la parolina magica che 
me la faccia visualizzare!
Credo che il tuo codice sia esattamente ciň che mi serve.
Grazie mille!
Grazie anche agli altri che mi hanno risposto!
Buona serata!
Ghigo
*******************
www.ghigoweb.com
******************* 

 End Sub
Purtroppo questo codice non è esattamente quello che cercavo in quanto avrei 
bisogno di capire quando il mouse "esce" dal pulsante...
Credo che Luca abbia centrato il problema!
Grazie mille ugualmente!
Ciao
Ghigo