VB 5/6-Tipp 0293: Eine scrollende Credits-Box erstellen
von Elmar Steinböck
Beschreibung
In Anlehnung an den vorletzten Tip, hier jetzt eine kleine Credits-Box mit Farbverlauf.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "cmdStart" ' Steuerelement: Timersteuerelement "Timer1" ' Steuerelement: Bildfeld-Steuerelement "Picture1" ' Steuerelement: Beschriftungsfeld "lblMove" auf Picture1 ' Steuerelement: Schaltfläche "cmdOK" 'Autor: Elmar Steinböck 'E-Mail: elmar@activevb.de Private Sub cmdOK_Click() Unload Me End Sub Private Sub cmdStart_Click() Timer1.Enabled = True End Sub 'We colorize the Picturebox with a simple 'Subroutine without API-Calls ! Private Sub ShadePic(pic As PictureBox) Dim DS, DW, SM, sh Dim i As Integer 'save the values before drawing... DS = pic.DrawStyle DW = pic.DrawWidth SM = pic.ScaleMode sh = pic.ScaleHeight pic.DrawStyle = vbInsideSolid pic.DrawWidth = 2 pic.ScaleMode = vbPixels pic.ScaleHeight = 256 For i = 0 To 255 pic.Line (0, i)-(pic.Width, i + 1), _ RGB(0, 0, 255 - i), B 'blue 'change the RGB for all colors you want 'i.e.: RGB(255, 0, 255-i) = red to magenta ' RGB(0, 255-i, 0) = green Next i 'settings to default: pic.DrawStyle = DS pic.DrawWidth = DW pic.ScaleHeight = sh pic.ScaleMode = SM End Sub 'Initialize picturebox and timer Private Sub Form_Load() ShadePic Picture1 Picture1.Visible = True Picture1.AutoRedraw = True Timer1.Interval = 100 End Sub 'Timer moves the label to the top Private Sub Timer1_Timer() Dim MoveBy As Integer 'Scalemode is Twips! If lblMove.Top > Me.ScaleHeight Then lblMove.Top = 0 Else MoveBy = 20 '-20 direction = top to bottom End If '20 direction = bottom to top lblMove.Move lblMove.Left, lblMove.Top - MoveBy End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 3 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von razor am 14.04.2009 um 21:18
hi, super Idee sieht auch nicht schlecht aus.
Aber, ist es möglich das das "Ruckeln" des textes irgendwie behoben werden kann ? Wäre noch toller, wenn es weicher scrollen würde, sodass es nicht mehr ruckelt
hoffe ihr versteht was ich meine.
gruß
Kommentar von Tom Kericht am 01.12.2000 um 04:22
Hallo lieber Kyron,
ein kurzer Vergleich zeigt zwar, daß Deine Routine mit der hier angebotenen mit einer Zeile weniger auskommt, dafür vermisse ich aber irgendwie bei Deinem Vorschlag den Farbverlauf.
Kommentar von Kyron am 29.11.2000 um 21:50
CreditBox
Warum so umständlich?
Meine Creditbos hat lediglich 6 Zeilen
Private Sub
Ich habe alle Lables mit dem nötigen Zeugs in eine PictureBox gepackt und diese PictureBox dann ganz unten an ausserhalb der Form gepackt. Dann einen Timer dazu und fertig...
Timer1_Timer()
PictureBoxStart = 1200
If PictureBox.Top 0 - PictureBox.Height Then
PictureBox.Top = PictureBox.Top - 20
Else
PictureBox.Top = PictureBoxStart
End If
End Sub
Siehe da...die PictureBox wandert solange nach oben bis der untere Rand erreicht ist und fängt dann wieder von vorne an.
Dies ist ein wirklich guter Tip für Deine Seite *gg* den auch solche Programmierer wie ich, die nicht sehr viel wissen, ganz realisieren können. Bei der Credit-Box die Du da hast sehe ich bei weitem nicht durch.
MfG
Kyron