Newsgroup: it.comp.lang.visual-basic
Titolo: [?] OnMouseOver e OnMouseOut sulle picture-box

Ciao raga.......
quando si "programma" in html dinamico è possibile gestire gli eventi
onmouseover e onmouseout sulle immagini e in generale su tutti gli elementi
della pagina....
qualcuno è riuscito ad ottenere la stessa cosa anche in vb6? so che c'è
l'evento OnMouseMove, però non mi basta, perchè mi serve capire anche quando
il cursore si "allontana" dalla picture-box.....come posso fare?
Damiani Igor
ico...@simcity.it



Tempo fa postai proprio un msg che fa al caso tuo.
Per qualunque info, io sono qua. :)
Il msg era questo:
Ho notato che ultimamente buona parte dei recenti msg sono incentrati
su come lanciare un URL da un programma VB, e di come simulare
l'evento "onMouseOver", ed ho deciso quindi di dstribuire sul NG il
codice da me usato sperando di esser di aiuto a qualcuno.
Uso questo metodo anche perche' ha un buon rapporto
semplicita'/risultato ottenuto.
L'evento mouseover, infatti, viene "simulato" in modo pressoche'
perfetto senza nessun uso di API.
(Per lanciare un URL, invece, preferisco richiamare la ShellExecute..)
Di contro, non e' piu' possibile visualizzare il Tooltips nel canonico
modo. Ma sui controlli su cui applicavo il codice seguente, non ne
avevo bisogno. :)
--8<--zicchete--8<--zacchete--8<--zicchete--8<--zacchete--8<--zicchete--8<--zacchete
' Dichiarazione API
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String,
ByVal lpFile As String, ByVal lpParameters As String, ByVal
lpDirectory As String, ByVal nShowCmd As Long) As Long
' Sub HyperLink
Public Sub hyperLink(ByVal URL As String)
    Call ShellExecute(0&, vbNullString, URL, vbNullString,
vbNullString, vbNormalFocus)
End Sub
' Codice da inserire nella Form.
' lblLink e' il nome del controllo Label usato per 
' simulare l'effetto "link".
' 
' Al posto di una Label, cmq, possiamo usare un qualunque 
' controllo provvisto dell'eventi di Drag&Drop e MouseMove.
'
' Quindi ad esempio, possiamo tranquillamente simulare
' il "rollover" delle pagine HTML, usando al posto di un
' controllo Label, un controllo Image ad esempio.
'
' IMPORTANTE: Ricordarsi settare la proprieta' 
' "DragIcon" del controllo con l'icona che vogliamo associare 
' al puntatore del mouse durante
' il passaggio sopra il controllo stesso.
' Solitamente si opta per la classica "mano che indica".. :)
Private Sub lblLink_DragDrop(Source As Control, X As Single, Y As
Single)
 
    ' // Simulazione Eventi HTML "onMouseOver" & "onMouseOut"
    '       - onClick event
 
    If Source = lblLink Then
 
        With lblLink
            .FontBold = False
        End With
 
	' Per lanciare un URL...
        Call hyperLink("
http://www.altavista.com
")
 
	' .. spedire una mail (togliere apice, ovviamente. ^_-).
	' Call hyperLink("mailto:
m.fer...@infogroup.it
")
 
    End If
End Sub
Private Sub lblLink_DragOver(Source As Control, X As Single, Y As
Single, State As Integer)
 
    ' // Simulazione Eventi "onMouseOver" & "onMouseOut"
    '       - onMouseOut Event.
 
    If State = vbLeave Then
        With lblLink
            .FontBold = False
            .Drag vbEndDrag
        End With
 
    End If
End Sub
Private Sub lblLink_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
 
    ' // Simulazione Eventi "onMouseOver" & "onMouseOut".
    '       - onMouseOver Event.
 
        With lblLink
            .FontBold = True
            .Drag vbBeginDrag
        End With
End Sub
--8<--zicchete--8<--zacchete--8<--zicchete--8<--zacchete--8<--zicchete--8<--zacchete
--
C'ya, 
  |
  |
'/|\'
\\O//
//"\\
'\ /'
________________________________________TagLine___
"Quanti Angeli danzano sulla punta di uno spillo?"