Плавное появление и исчезновение Label - VB
Формулировка задачи:
Срежиссировал вот таким образом:
В ролях 2 таймера с именами
Fading
иAppearing
, такжеLabel1
. Цвет формы(что важно):&H00404040&
Вопрос: Как сделать то же самое без такого извращения? Если фон формы изменится, придётся менять и те эфки, что в кавычках.
EXE-файл прилагается. Код формы выше.
Мельком вычитал про API-функцию AlphaBlend. Может ли она в этом как-то помочь?
Решение задачи: «Плавное появление и исчезновение Label»
textual
Листинг программы
Const Interval As Integer = 30 'скорость изменения цвета Dim R&, G&, B& Private Declare Function OleTranslateColor Lib "oleaut32.dll" (ByVal lOleColor As Long, ByVal lHPalette As Long, lColorRef As Long) As Long Private Sub Form_Load() OleTranslateColor Me.BackColor, 0, B R = B And 255: B = B \ 256 G = B And 255: B = B \ 256 Fading.Interval = Interval Fading.Enabled = True Label1.Caption = "Идёт анализ..." End Sub Private Sub Fading_Timer() Static d&, k& Label1.ForeColor = RGB(R + (255 - R) / 15 * d, G + (255 - G) / 15 * d, B + (255 - B) / 15 * d) If d = 0 Then k = 1 ElseIf d = 15 Then k = -1 End If d = d + k End Sub Private Sub Label1_Click() Unload Me End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д