Det går inte vad jag vet med bilder, men med en kontroll kan du använda en lösning i stil med
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If X < 0 Or Y < 0 Or X > CommandButton1.Width Or Y > CommandButton1.Height Then
Me.Shapes("shp1").Visible = False
Else
Me.Shapes("shp1").Visible = True
End If
End Sub
MouseMove reagerar en liten bit utanför själva commandbutton, det är därför villkoret fungerar, men det innebär också att om man rör musen för snabbt så kommer man så att säga "smita ut" utan att MouseMove-eventet hinner köras. Det går att lösa genom att lägga en annan, större kontroll under som fångar upp eventuella smitningar, alternativt genom att dessutom starta en application.ontime som stänger ner rutan.