Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как заставить реагировать кнопку при наведении мышки / 13 сообщений из 13, страница 1 из 1
20.12.2011, 01:37
    #37584167
donpauls
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
Какой метод кнопки нужно применить, чтобы например, при наведении мыши она меняла надпись с "Command1" на "Нажми меня"
Думаю, что это должно быть Command1_MouseMove - но не могу разобраться как его использовать: при наведении надпись изменяется, но не возвращается обратно..

Код: vbnet
1.
2.
3.
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Command1.Caption = "Нажми меня!"
End Sub
...
Рейтинг: 0 / 0
20.12.2011, 01:42
    #37584168
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
donpaulsДумаю, что это должно быть Command1_MouseMove - но не могу разобраться как его использовать: при наведении надпись изменяется, но не возвращается обратно..Это потому что MouseMove происходит только когда мышь находится над виджетом. Как только мышь выходит за его пределы MouseMove этому виджету больше не посылается.
Тебе нужны Enter и Leave события.
...
Рейтинг: 0 / 0
20.12.2011, 01:54
    #37584176
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
White OwlТебе нужны Enter и Leave события....которых нет в VB6...
...
Рейтинг: 0 / 0
20.12.2011, 02:01
    #37584180
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
Shocker.ProWhite OwlТебе нужны Enter и Leave события....которых нет в VB6...VB.Net зато есть.
А если у TC действительно VB6, то можно поймать MouseMove на родительском контейнере и этим реализовать Enter/Leave: Если сработал MouseMove на контейнере потом на виджете - значит Enter, если на виджете потом на контейнер - Leave.
...
Рейтинг: 0 / 0
20.12.2011, 10:20
    #37584426
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
можно поймать MouseMove на родительском контейнереА можно не поймать, если мышка движется быстро. Ненадежный это способ, нужно сабклассить. Кажется есть WM-событие типа leave.
...
Рейтинг: 0 / 0
20.12.2011, 11:54
    #37584591
donpauls
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
White OwlShocker.Proпропущено...
...которых нет в VB6...VB.Net зато есть.
А если у TC действительно VB6, то можно поймать MouseMove на родительском контейнере и этим реализовать Enter/Leave: Если сработал MouseMove на контейнере потом на виджете - значит Enter, если на виджете потом на контейнер - Leave.

Спасибо, это идея!
...
Рейтинг: 0 / 0
20.12.2011, 12:23
    #37584651
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
вот один из простых и оригинальных вариантов на VB6
...
Рейтинг: 0 / 0
20.12.2011, 13:43
    #37584843
donpauls
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
Konst_Oneвот один из простых и оригинальных вариантов на VB6

Интересно, но русские буквы отображаются кракозябликами..
...
Рейтинг: 0 / 0
20.12.2011, 14:23
    #37584943
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
ну так что-то делаешь не так =)
...
Рейтинг: 0 / 0
20.12.2011, 14:30
    #37584964
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
Так и должно быть?
...
Рейтинг: 0 / 0
20.12.2011, 14:37
    #37584987
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
Некорректно работает с двумя мониторами. Если основной справа, а форма на левом, то тултип появляется прижатым к левому краю правого монитора.
...
Рейтинг: 0 / 0
20.12.2011, 14:43
    #37585008
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
пример для арабских стран вывод справо налево. (пример для них, фразы арабские)
про конфигурацию с двумя мониторами не в курсе, не проверял, думаю, что там можно подправить координаты вывода окна
...
Рейтинг: 0 / 0
20.12.2011, 20:22
    #37585735
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить реагировать кнопку при наведении мышки
Antonariyможно поймать MouseMove на родительском контейнереА можно не поймать, если мышка движется быстро. Ненадежный это способ, нужно сабклассить. Кажется есть WM-событие типа leave.Да, если контейнер слишком узкий а мышь бежит быстро - она может "перепрыгнуть" через контейнер.
По хорошему действительно надо на виджете ловить WM_MOUSELEAVE, но я никогда этого в VB не делал - не уверен насколько это просто.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как заставить реагировать кнопку при наведении мышки / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]