VB-Homepage Tipp 169

Textscrolling

Eine recht nette Auffrischung für Ihre Projekte soll es hier geben, vielleicht als auffällige, wenn auch nicht standardgemäße Aboutbox oder als sogenanntes Intro, oder wo immer Sie es für angepaßt halten.

Sicher kennen Sie aus dem Fernsehen, den Abspann, wenn also alle Beteiligten noch mal namentlich angezeigt werden und von unten nach oben über den Bildschirm huschen.

Und genau dies soll unser kleines Projekt auch tun. Sie haben dabei die Möglichkeit mehrere Zeilen zu definieren und auch unterschiedliche Fonts und Farben einzusetzen.

1. Für das Projekt benötigen wir eine Form ; eine PictureBox und einen Timer.

2. Die Form soll ein rechteckiges Format erhalten ( Bsp 2220 x 4320 ).

3. Die PictureBox benennen Sie bitte in P1 um und passen Sie in der Breite der Form an, in der Länge bitte um einiges länger als die Form, sonst gibt es unschöne Streifen.(einfach austesten).

4. Unter Allgemein/Deklarationen bitte forlgendes einfügen.
Private Declare Function BitBlt Lib "GDI32" (ByVal hDestDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hSrcDC As Integer, ByVal XSrc As Integer, ByVal YSrc As Integer, ByVal dwRop As Long) As Integer

Dim thetop As Long
Dim p1hgt As Long
Dim p1wid As Long
Dim theleft As Long

5. Unter Allgemein/CenterIT fügen Sie folgendes ein.
die Funktion entsteht durch das Einfügen des Sourcecodes unter Allgemein/Deklarationen
Sub centerIT(C As Control, Txt As String)
C.CurrentX = (C.ScaleWidth - C.TextWidth(Txt)) / 2
C.Print Txt
End Sub

6. Unter Form/Load nun nachfolgendes einfügen
p1.AutoRedraw = True
p1.Visible = False
p1.FontSize = 12
p1.FontBold = True
p1.ForeColor = &H0&
p1.BackColor = BackColor
p1.ScaleMode = 3

centerIT p1, "VB - Homepage Tipp"
p1.FontBold = False
centerIT p1, "T E X T S C R O L L I N G"
p1.FontBold = True
centerIT p1, ""
p1.FontSize = 16
centerIT p1, " Januar 1998 "
p1.FontSize = 12
centerIT p1, "°°°°°°°°°°°°°°°°°°"
centerIT p1, ""
p1.ForeColor = &HFF&
centerIT p1, "Drehbuch : S. Spielberg"
p1.ForeColor = &HFF0000
centerIT p1, "Regie : A. Hitchcook"
p1.ForeColor = &HFF&
centerIT p1, "Ton : Hohes C "
p1.ForeColor = &HFF0000
centerIT p1, "Schnitt : Au "
p1.ForeColor = &HFF&
centerIT p1, "Maske : Henry "
p1.ForeColor = &HFF0000
centerIT p1, "Beleuchtg: Ausreichend "
p1.ForeColor = &HFF&
centerIT p1, "FSK : für V 4.0 "

ScaleMode = 3
theleft = (ScaleWidth - p1.TextWidth(" T E X T S C R O L L I N G ")) / 2

thetop = ScaleHeight
p1hgt = p1.ScaleHeight
p1wid = p1.ScaleWidth

timer1.Enabled = True
timer1.Interval = 33

Form1.Left = Screen.Width / 2 - Form1.Width / 2
Form1.Top = Screen.Height / 2 - Form1.Height / 2

7. ....und unter Timer1/Timer noch folgendes
X% = BitBlt(hDC, theleft, thetop, p1wid, p1hgt, p1.hDC, 0, 0, &HCC0020)

thetop = thetop - 1

If thetop < -p1hgt Then
   timer1.Enabled = False
   Txt$ = "Fin - The End - Ende"
   CurrentY = ScaleHeight / 2
   CurrentX = (ScaleWidth - TextWidth(Txt$)) / 2
   Print Txt$
   Unload Me
   Set Form1 = Nothing
   End
End If

8. Sie können nun das Projekt mit F5 testen und werden sicher noch etwas am Outfit feilen müssen, die Funktionalität sollte aber schon erkannt sein.


Tipp-Download

Quelle :

Zurück zur Übersichtsseite