Newsgroup: it.comp.lang.visual-basic
Titolo: evento mouseover

ciao a tutti
vorrei creare un evento mouseover su image
come tasti io uso delle image
vorrei cambiare l'immagine se il mouse gli passa sopra e se ne va
e cambiarla quando preme il tasto
la seconda semplicemente con  (XXX) e' l'immagine
' quando premo
private sub image1_mousedown(.......)
  image1.picture = imagelist.image(XXX).picture
end sub
' quando rilascio
private sub image1_mouseup(.......)
  image1.picture = imagelist.image(XXX).picture
end sub
se voglio cambiare al passaggio uso
' al passaggio
private sub image1_mousemove(.......)
  image1.picture = imagelist.image(XXX).picture
end sub
il problema sta' quando esci che non esiste l'evento
l'avrei risolto con
private sub form_mousemove (...............)
   image1.picture = imagelist.image(l'originale).picture
  ' qui per tutte le immagini(tasti)
end sub
e' qui che vorrei il consiglio..
funzionare funziona bene ma ci sono percaso dei pro o dei contro?
ps. spero di essere stato abbastanza chiaro!!!
ciao a tutti Ilairo

 private sub form_mousemove (...............)
E se abbandoni l'image per andare su un altro oggetto appiccicato (o vicino
con uno spostamento veloce)?
Non mi pare sia di facile soluzione. Personalmente ho messo in una
variabile/oggetto comune l'oggetto interessato, quando ne rilevo eventi. In
ogni altro evento di ogni altro oggetto (compresa la form) prima di agire
sullo stesso, ripristino la situazione per l'oggetto precedente che è stato,
evidentemente, abbandonato.

 ciao a tutti
Hallo,boy
mega cut
Eccoti il codice che riprendo da un precedente posto di(per me ormai
mitico)Zanna:
'In un modulo metti:
Option Explicit
Private Declare Function GetCapture Lib "user32" () As Long
Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As
Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
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
 'E poi nell'evento mouse_move del command(per esempio):
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Dim var As Integer
var = MouseOver(Command1, X, Y)
If var = 1 Then
'metti il codice che vuoi, quando entra
ElseIf var = -1 Then
'metti il codice quando esce
End If
End Sub
Spero di essermi spiegato bene....
Per qualsiasi chiarimento... sempre disponibile!
GoodBy By Ged
--
"Non so che immagine abbia di me il mondo, ma io mi vedo come un bambino che
gioca sulla riva del mare, e di tanto in tanto si diverte a scoprire un
ciottolo più levigato o una conchiglia più bella del consueto, mentre
davanti mi si stende, inesplorato, l'immenso oceano della verità"!!!!
Isaac Newton

 ciao ti ringrazio per avermi dato il codice, ma purtroppo questo funziona
bene con command, con picture, ma io uso image e da' errore proprieta' o
metodo non supportati dall'oggetto
    Ctrl.hwnd  non si puo' fare
ciao e grazie  se conosci qualche altro sistema lo aspetto
Ilario
