Rubrik: Grafik und Font · Grafische Effekte | VB-Versionen: VB4, VB5, VB6 | 07.10.01 |
FadeIn - FadeOut Ein wirklich schöner Fade-Effekt für Anzeige verschiedener Texte - z.B. in der AboutBox. | ||
Autor: Rene Zimmerling | Bewertung: | Views: 21.808 |
www.mgp-why.de | System: 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!