Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Поменять цвет у Label при наведении


Автор: APro 31.1.2008, 15:02
Помогите мне добится этого красивого эффекта:

Есть Label1, при наведении он должен стать - &H000080FF& - такого цвета, но как только я убираю курсор мыши, то должен стать - &H0080C0FF&

(по умолчанию Label1 имеет &H0080C0FF&)

Добавлено через 1 минуту и 15 секунд
Попытался сам сделать - не получилось, верней получилось, но не то что хотел! При наведении меняет цвет, а при перемещении по Label1 начинает мигать из первого во второй цвет...

Автор: Naghual 31.1.2008, 15:44
Код

Dim MouseIsOver As Boolean

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If MouseIsOver Then
        MouseIsOver = False
        Label1.ForeColor = &H80C0FF
    End If
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Not MouseIsOver Then
        MouseIsOver = True
        Label1.ForeColor = &H80FF&
    End If
End Sub

Автор: BorisVorontsov 31.1.2008, 16:20
Цитата(Naghual @  31.1.2008,  15:44 Найти цитируемый пост)
MouseIsOver


Очень плохая идея проверки положения курсора.
Надо делать SetCapture, а ещё лучше TrackMouseEvent.


Автор: Naghual 31.1.2008, 16:32
BorisVorontsov, Это будет сложнее.
Задача стояла в украшении ОДНОГО лейбла!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)