Плавное появление и исчезновение 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы