Смена цвета label при наведении мыши

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Xaker_S
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 09.04.2003 (Ср) 3:28
Откуда: Severomorsk

Смена цвета label при наведении мыши

Сообщение Xaker_S » 10.04.2003 (Чт) 4:03

:wink: Hello!!!
Нет ли такой фишки типа Click, чтобы при наведении на текст, допустим, происходило действия, там цвет менялся?

John_mc
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 112
Зарегистрирован: 15.06.2002 (Сб) 6:18
Откуда: Russia, Новосибирск

Сообщение John_mc » 10.04.2003 (Чт) 6:07

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.ForeColor = "~"
End Sub

Xaker_S
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 09.04.2003 (Ср) 3:28
Откуда: Severomorsk

Сообщение Xaker_S » 10.04.2003 (Чт) 9:21

Это я знаю. Дело в другом: при наведении цвет на который меняешь остается, а надо так чтобы он возвращался.

Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Сообщение Damage » 10.04.2003 (Чт) 13:06

к выше преведенному коду добавь
Код: Выделить всё
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.ForeColor = RGB(255, 0, 255)
End Sub

John_mc
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 112
Зарегистрирован: 15.06.2002 (Сб) 6:18
Откуда: Russia, Новосибирск

Сообщение John_mc » 11.04.2003 (Пт) 13:42

кстати, говорят что в VB.Net появилось событие которое это делает (дейтсвует, когда убираешь мышь с объекта) :idea:

Алекс
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 30.04.2003 (Ср) 15:59
Откуда: Краснодар

Сообщение Алекс » 05.05.2003 (Пн) 7:12

Код: Выделить всё
Private Sub Form_MouseMove(Button As Integer, Shift As 
Integer, X As Single, Y As Single)
Label1.BackColor = &HFF0000
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As   
Integer, X As Single, Y As Single)
Label1.BackColor = &HFF&
End Sub
Алекс.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.05.2003 (Пн) 9:17

В API есть функция TrackMouseEvent, но она не будет работать с Label, потому что у него нет hwnd. Так что ответ Алекса имхо оптимален.


ЗЫ: 256 постов :wink:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Сообщение goro » 05.05.2003 (Пн) 19:19

GSerg писал(а):В API есть функция TrackMouseEvent, но она не будет работать с Label, потому что у него нет hwnd. Так что ответ Алекса имхо оптимален.


ЗЫ: 256 постов :wink:

Поищи на www.planet-source-code.com с тестом hyperlink
ПРЕВЕД

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 21:38

Не, ответ не оптимален! :!:
вместо констант цветов типа &H000F лучше использовать константы "vb"(vbBlue,vbYellow и т.п.) Надёжнее будет
Пап, а что такое ВБ?
Cынок, это просто фантастика!

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 21:41

Я бы посоветовал ещё делать так:

в событии MouseMove для label'a
Label1.FontSize=16

а в MouseMove для формы
label1.fontSize=14
Пап, а что такое ВБ?
Cынок, это просто фантастика!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.04.2006 (Пн) 21:45

2 Smert

Оправдываешь свой ник? :evil:
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 21:47

Но я столкнулся с проблемой, когда пользователь наводит курсор, лэйбел начинает мигать, перерисовываться и т.п.

Я решил ее так:

Код: Выделить всё
if label1.fontsize=14 then
label1.fontsize=16
end if


Дело в том, что когда пользователь водит мышью, каждый раз вызывается МаусМув и лэйбл перерисовывается, а тут только один раз изменился(пользователь навёл) и такой и остаётся, пока он не уберёт курсор с лэйбла :wink: [/code]
Пап, а что такое ВБ?
Cынок, это просто фантастика!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 24.04.2006 (Пн) 21:48

Smert писал(а):Не, ответ не оптимален! :!:
вместо констант цветов типа &H000F лучше использовать константы "vb"(vbBlue,vbYellow и т.п.) Надёжнее будет

Серьёзно? Надёжнее? :roll:
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 21:49

для BV:
ага, ёще только профиль отредактирую в поле "Откуда"
Пап, а что такое ВБ?
Cынок, это просто фантастика!

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 21:50

Да, надёжнее: у меня глюки были
Пап, а что такое ВБ?
Cынок, это просто фантастика!

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.04.2006 (Пн) 21:54

Нет, всё-таки правильно хотят банить за некрофилию. Конечно, если один-два раза случайно или действительно нужно, но надо же и меру знать :evil: Теме больше трёх лет :evil:
Изображение

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 24.04.2006 (Пн) 21:54

Да, надёжнее:
Сомневаюсь
у меня глюки были
Ну раз утверждаешь, спорить не буду :lol: :lol: :lol:
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 21:56

И раньше я не знал, чё ВБ константу(например) &H00000F переделывает в (например) &ff&.Я даже пытался с этим бороться
:oops: :oops: :oops:


Во, теперь я из Молдовы

Кстати BV ты где именно живёш :?:
Жил я в Кишинёве 3 года. Классный город :!:
Пап, а что такое ВБ?
Cынок, это просто фантастика!

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.04.2006 (Пн) 21:57

Smert
Глюки были не изза ошибок в VB, а изза ошибок в ДНК.
Изображение

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 21:58

Мда... Так я ж и пишу, с чем боролся :oops: :oops: :oops:
Пап, а что такое ВБ?
Cынок, это просто фантастика!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 24.04.2006 (Пн) 21:59

keks-n
А он обратного и не утверждает :lol:
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.04.2006 (Пн) 21:59

Smert писал(а):для BV:
ага, ёще только профиль отредактирую в поле "Откуда"


Видимо, ты меня не понял.

Твои посты в этой теме - жестокая некрофилия. Теме больше двух лет.
И это никак не относится к тому, откуда ты будешь.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 22:00

Не ошибок в ДНК нет, руки отрихтовал :D
Пап, а что такое ВБ?
Cынок, это просто фантастика!

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 22:03

Да я понял что не относиться. Чел спросил, я ответил в меру своих нубовских знаний :oops: :oops: :oops:


Не некрофил и не педофил и не наркоман я!!! :!:
Пап, а что такое ВБ?
Cынок, это просто фантастика!

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.04.2006 (Пн) 22:03

Smert
Если ты не нашёл ошибок, то это не значит, что их нет, это значит, что у тебя плохой отладчик...
Изображение

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 22:04

Мда, наверно придётся переходить на Read-Only
Пап, а что такое ВБ?
Cынок, это просто фантастика!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 24.04.2006 (Пн) 22:06

Smert
Это наилучшее решение. Молодец.
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.04.2006 (Пн) 22:07

Smert
Просто не поднимай старые топики без особых на то причин-народу это не очень нравится...
Изображение

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 22:08

Хотя мы это и не по теме, ну ладно, но далеко не счиас :wink:
Пап, а что такое ВБ?
Cынок, это просто фантастика!

Smert
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 07.04.2006 (Пт) 18:47
Откуда: Молдова,Бельцы

Сообщение Smert » 24.04.2006 (Пн) 22:08

Я не про топики, я про решение Read-Only
Пап, а что такое ВБ?
Cынок, это просто фантастика!

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 95

    TopList  
cron