Смена картинки в Image при наведении на неё мышкой - VB
Формулировка задачи:
У меня есть картинки 1.jpg и 2.jpg. На форме есть Image1 с картинкой по умолчания 1.jpg. При наведении на эту картинку курсором надо что бы она стала 2.jpg. Это я сделал с помощью MouseMove. Но мне надо чтобы при отведении курсора в другое место картинка становилась вновь 1.jpg.
Я пытался сделать это с помощью таймера, но таймер совсем не выход. Из-за него лагает. Да и дико это как то.
Решение задачи: «Смена картинки в Image при наведении на неё мышкой»
textual
Листинг программы
- Option Explicit
- Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
- Private Declare Function ReleaseCapture Lib "user32" () As Long
- Dim capControl As Image
- Private Sub Form_Load()
- For Each capControl In imgLeave
- Set capControl.Picture = picState(1).Picture
- Next
- End Sub
- Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
- If Not capControl Is Nothing Then
- Set capControl.Picture = picState(2).Picture
- End If
- End Sub
- Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
- If Not capControl Is Nothing Then
- Set capControl.Picture = picState(1).Picture
- Set capControl = Nothing
- ReleaseCapture
- End If
- End Sub
- Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
- If Not capControl Is Nothing Then
- SetCapture capControl.Container.hwnd
- Set capControl.Picture = picState(1).Picture
- End If
- End Sub
- Private Sub imgLeave_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
- If Not capControl Is Nothing Then
- If capControl Is imgLeave(Index) Then Exit Sub
- Set capControl.Picture = picState(1).Picture
- End If
- SetCapture imgLeave(Index).Container.hwnd
- Set capControl = imgLeave(Index)
- Set capControl.Picture = picState(0).Picture
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д