Tebi trebaju onmouseover i onmouseout efekti za VB.
E pa toga u VB-u nema pa ces morati da koristis neke API fn.
Pre svega mozes samo da odredis sledece :
Kada je mis iznad kontrole - mousemove event,
ali ne mozes znati kada je je van kontrole.
Zato ce ti posluziti sledeci API-ji koje ces da deklarises u modulu:
'******************
' funkcije za mouse evente - i ostalo ali ostacemo na ovome
Public Declare Function SetCapture Lib "USER32" (ByVal hWnd As Long) As Long
Public Declare Function ReleaseCapture Lib "USER32" () As Long
' *********************
ako se objekt zove picplay (picture box koji menja slike) onda u event mouseup ide :
With picplay
If (x < 0) Or (y < 0) Or (x > .Width) Or (y > .Height) Then
picplay.Picture = imgplay(0).Picture
End If
End With
*******
a u mousemove ide :
Call promenisliku(picplay, imgplay(0), imgplay(1), Button, Shift, x, y)
********
a u mousedown ide :
picplay.Picture = imgplay(2).Picture
*****
Objasnjenja :
imgplay(0).Picture - default slika
imgplay(1).Picture - onmouseover slika
imgplay(2).Picture - onmousedown slika
**************
evo ti moja procedura koju ja koristim, a stavices je u modul :
Sub promenisliku(dugme As Object, outslika As Object, overslika As Object, Button As Integer, Shift As Integer, x As Single, y As Single)
'**********************procedura za promenu slike objekta
'dugme je picturebox (objekt) nad kojim se vrse promene
'outslika je imagebox koji sadrzi mouseout sliku
'overslika je imagebox koji sadrzi mouseover sliku
'ostale promenljive su standardne promenljive iz mousemove eventa
With dugme ' ovde se specificira objekt na koji se odnosi ova procedura
If Button = 0 Then
If (x < 0) Or (y < 0) Or (x > .Width) Or (y > .Height) Then
'posto je mouse pointer van objekta, dozvolimo i ostalim objektima da
'prime svoje evente
ReleaseCapture
' ovde ide mouseout event
.Picture = outslika.Picture
Else
' mouse pointer je jos uvek iznad objekta, pa cemo da ga capture premda
' cemo primiti mouse messages iako je mouse pointer van objekta
SetCapture .hWnd
' ovde ide mouseover event
.Picture = overslika.Picture
End If
End If
End With
' brisemo objekte da ne zauzimaju mem
Set dugme = Nothing
Set outslika = Nothing
Set overslika = Nothing
End Sub
Prostije ne moze, sta ces ...
fire, walk with me