vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Grafik und Font · Grafische Effekte   |   VB-Versionen: VB4, VB5, VB607.10.01
FadeIn - FadeOut

Ein wirklich schöner Fade-Effekt für Anzeige verschiedener Texte - z.B. in der AboutBox.

Autor:   Rene ZimmerlingBewertung:  Views:  21.794 
www.mgp-why.deSystem:  Win9x, WinNT, Win2k, Win8, Win10, Win11 Beispielprojekt auf CD 

Ein bisschen Spielerein, um das eigene Programm "schöner" zu machen: Warum nicht?

Das nachfolgende Beispiel zeigt einen wirklich schönen Fade-Effekt, bei dem verschiedene Textpassagen langsam ein- und wieder ausgeblendet werden.

Um das nachfolgende Beispiel zu testen, erstellen Sie ein neues Formular, plazieren darauf ein Label-Element mit dem Namen lblMsg, sowie ein Timer-Objekt namens myTimer.

Und hier der gesamte benötigte Code:

Option Explicit
 
' Name          : FadeInFadeOut
' Syntax        :
' Sprache       : Visual Basic 6
' Autor         : René Zimmerling of V.C.S.P (vyger@web.de)
' Beschreibung  :
' 
' Blendet nacheinander verschiedene Meldungen ein- und aus
' (geeignet für Info- oder About-Boxen).
' 
' Wurde die letzte Nachricht erreicht, so wird mit der ersten
' Nachricht neubegonnen.
' ==============================================================
 
' Festlegen von Titel des Fensters und des Button Textes
Const fag_TitleStr = "VB6: FadeIn/FadeOut"
Const fag_ButtonOkayStr = "Okay, habe es gelesen"
 
' Array für die einzelnen Messages
Dim strMsg() As String
 
' Array für die Farben
Dim lngColor() As Long
 
' Festlegen von Timer.Interval
Const msg_TimerInterval = 200
 
' Abfrage für ein- und ausblenden
Dim msg_FadeIn As Boolean
 
' Counter für den Timer
Dim msg_TimerVal As Integer
 
' Counter für Messages
Dim msg_Current As Integer
 
 
Private Sub Form_Load()   
  ' Messages (Textzeilen)
  ReDim strMsg(4)
  strMsg(0) = "+++ vb@rchiv +++ Das große Visual Basic Archiv"
  strMsg(1) = "News, Workshop, Tipps, Source, Downloads, u.v.m."
  strMsg(2) = "www.vbarchiv.net +++ www.vbarchiv.de"
  strMsg(3) = "FadeIn - FadeOut"
  strMsg(4) = "Coded 2001 by René Zimmerling of V.C.S.P."
 
  ' Farben
  ReDim lngColor(13)
  lngColor(1) = &HC0C0C0 ' Hintergrundfrage Grau
  lngColor(2) = &HB0B0B0
  lngColor(3) = &HA0A0A0
  lngColor(4) = &H909090
  lngColor(5) = &H808080
  lngColor(6) = &H707070
  lngColor(7) = &H608060
  lngColor(8) = &H505050
  lngColor(9) = &H404040
  lngColor(10) = &H303030
  lngColor(11) = &H202020
  lngColor(12) = &H101010
  lngColor(13) = &H0&     ' Textfarbe Schwarz
 
  ' Aufrufen der Message-Routine
  StartFade
End Sub
 
 
Private Sub myTimer_Timer()
  ' Wenn Msg_FadeIn = True (also einblenden aktiv),
  ' wird Msg_TimerVal um den Wert 1 erhöht
 
  ' Wenn Msg_FadeIn = False (also ausblenden aktiv),
  ' wird Msg_myTimerVal um den Wert 1 vermindert
 
  If msg_FadeIn = True Then
    msg_TimerVal = msg_TimerVal + 1
  Else
    msg_TimerVal = msg_TimerVal - 1
  End If
 
  ' Message anzeigen
  If msg_Current > UBound(strMsg) Then _
    msg_Current = 0
 
  lblMsg.Caption = strMsg(msg_Current)
 
  Select Case msg_TimerVal
    Case 0
      ' Umschalten auf "Einblenden"
      msg_FadeIn = True
 
      ' Nächste Nachricht auswählen
      msg_Current = msg_Current + 1
 
    Case 14
      ' Umschalten auf "Ausblenden"
      msg_FadeIn = False
 
    Case Else
      ' Setzen der Farbe
      lblMsg.ForeColor = lngColor(msg_TimerVal)
  End Select
End Sub
 
 
Private Sub StartFade()
  ' Wir starten mit Message Nr. 1
  msg_Current = 0
 
  ' Wir starten mit einer Einblendung
  msg_FadeIn = True
 
  ' Einschalten des Timers und setzen des Intervalls
  myTimer.Enabled = True
  myTimer.Interval = msg_TimerInterval
End Sub

Viel Spass mit dem Code!
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.