Угасающая анимация - плавное появление и исчезание картинки - VB
Формулировка задачи:
Добрый день всем.
Подскажите пример угасающей анимации форма с картинкой плавно появляется и плавно затухает.
Нашел вот это, но с привязкой к osenxpsuite2010.ocx. Минус в том, что он платный..
пример...https://youtu.be/2BXhSApNjn8
Решение задачи: «Угасающая анимация - плавное появление и исчезание картинки»
textual
Листинг программы
Option Explicit Private Declare Function UpdateLayeredWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal hdcDst As Long, pptDst As Any, psize As Any, ByVal hdcSrc As Long, pptSrc As Any, ByVal crKey As Long, pblend As Long, ByVal dwFlags As Long) As Long Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Const WS_EX_LAYERED = &H80000 Private Const GWL_EXSTYLE As Long = -20 Private Const ULW_ALPHA = &H2 Private Const AB_32Bpp255 = 33488896 Dim WithEvents tmrTimer As Timer Private Sub Form_Load() Set tmrTimer = Controls.Add("VB.Timer", "tmrTimer") tmrTimer.Interval = 32 SetWindowLong Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED End Sub Private Sub tmrTimer_Timer() Static sz As Currency, pt As Currency, fr As Long sz = (Me.ScaleWidth + CCur(Me.ScaleHeight) * 4294967296#) / 10000 UpdateLayeredWindow Me.hwnd, Me.hDC, pt, sz, Me.hDC, pt, 0, &H1000000 Or fr, ULW_ALPHA fr = (fr + &H20000) And &HFF0000 End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д