Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
3 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 248
1

Смена картинки в Image при наведении на неё мышкой

19.08.2014, 16:37. Показов 1940. Ответов 1
Метки нет (Все метки)

У меня есть картинки 1.jpg и 2.jpg. На форме есть Image1 с картинкой по умолчания 1.jpg. При наведении на эту картинку курсором надо что бы она стала 2.jpg. Это я сделал с помощью MouseMove. Но мне надо чтобы при отведении курсора в другое место картинка становилась вновь 1.jpg.

Я пытался сделать это с помощью таймера, но таймер совсем не выход. Из-за него лагает. Да и дико это как то.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.08.2014, 16:37
Ответы с готовыми решениями:

Смена картинки при наведении на неё
Хочу нарисовать в фотошопе раздел меню красивый и чтобы он изменялся на другой при наведении. Ну...

Смена картинки при наведении на Image
Всем привет! Как сделать, так чтобы при наведении на Image, менялась картинка, нажав на Image,...

Смена прозрачности фотографии при наведении мышкой
Плиз киньте ссылочку на сайт где есть скрипт который делает следующее есть превьюхи фоток они...

Изменить цвет ссылки случайным образом при наведении на неё мышкой
хочу изменить цвет ссылки случайным образом при наведении на неё мышкой. function...

1
Модератор
8671 / 3208 / 838
Регистрация: 22.02.2013
Сообщений: 4,793
Записей в блоге: 78
19.08.2014, 17:09 2
Лучший ответ Сообщение было отмечено MorfixProton как решение

Решение

Для таких случаев существует сообщение WM_MOUSELEAVE, но Image - windowless контрол, который не является окном, поэтому для него нельзя отловить это сообщение. Выход - проверять родителя, также можно захватывать мышь и проверять координаты у родителя.
Вот небольшой пример используя захват мыши, в качестве картинок используются предварительно загруженные на форму изображения для имитации кнопок.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
2
Изображения
 
Вложения
Тип файла: rar WindowlessLeave.rar (7.0 Кб, 27 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2014, 17:09

Выделение области Image при наведении на нее мышью
Ребят, посоветуйте... Есть TImage, В него загружен растр.... Я хочу, чтобы при наведении на...

Как сделать чтоб кнопка в форме при наведении на нее мышкой убегала от курсора мыши?
Добрый вечер) подскажите пожалуйста, как сделать чтоб кнопка в форме при наведении на нее мышкой...

Изменить цвет картинки при наведении на нее
сейчас код выглядит так. Ничего не работает ... <DrawingImage x:Key="Cross"> ...

Изменение картинки при наведении на нее мыши
Здраствуйте всем нужна помощь у меня есть теги map area...И есть картинка ... Нужно чтоб при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.