Mit nachfolgendem Code lässt sich ein einfacher Newsticker realisieren (Lauftext), wobei die Daten aus einer XML-Datei ausgelesen werden. Aufbau der XML-Datei: <?xml version="1.0" encoding="ISO-8859-1"?> <Test> <Text1>Dieser NewsTicker</Text1> <Text2>erwarte als Datenquelle eine XML Datei.</Text2> <Text3>Beispiel wurde heruntergeladen von:</Text3> <Text4>http://www.vbarchiv.net - Das große Visual Basic Archiv</Text4> </Test> Imports System Imports System.Drawing Imports System.Windows.Forms Imports System.Xml Imports System.Text Imports System.IO Public Class Form1 ''' <summary> ''' Hilfsklasse zur Ermittlung des Anwendungspfades. ''' </summary> Public Class Helpers Public Shared Function AppPath() As String Return My.Application.Info.DirectoryPath End Function End Class ' Benötigtes Grafik Objekt. Private hGraphics As Graphics ' Weite der auszugebenden Zeichenkette. Private [x] As Single = 0 ' y-Position der auszugebenden Zeichenkette. Private [y] As Single = 0 ' Auszugebende Zeichenkette Private msg As String ' Länge Zeichenkette Private Length As Single ' Grafik Objekt Private fnt As Font ' Timer-Objekt Private WithEvents Timer1 As New Timer ''' <summary> ''' Pfad zur benötigten .xml Datei initialisieren und die ''' Initialisierung des News - Tickers aufrufen. ''' </summary> Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Anwendung zentrieren. With Me .CenterToScreen() End With With Me hGraphics = .CreateGraphics() x = .Width y = 50 End With ' Pfad zur .xml Datei initialisieren. Dim xmlPath As String = Path.Combine(Helpers.AppPath, "test.xml") ' Aufruf der Prozedur zur Initialisierung des News - Tickers. Call InitAndLoadNews(xmlPath) End Sub ''' <summary> ''' Initialisierung des News - Tickers... ''' </summary> ''' <param name="Filename">XML-Dateiname</param> Private Sub InitAndLoadNews(ByVal Filename As String) Try ' Caption des Formulars setzten. Me.Text = "XML - News - Ticker..." ' XmlTextReader initialisieren. Dim xtr As New XmlTextReader(Filename) ' Daten aus .xml Datei in die Variable msg lesen. While xtr.Read() If xtr.NodeType = XmlNodeType.Text Then msg += " " & xtr.Value.ToString() End If End While ' Timer initialisieren und starten. With Me.Timer1 ' Geschwindigkeit des Zeitgebers. .Interval = 100 ' Zeitgeber starten. .Start() End With ' Deklarierten Font Objekt initialisieren. fnt = New Font("Times New Roman", 22, _ FontStyle.Bold Or FontStyle.Italic, GraphicsUnit.Pixel) ' Benötigte Ausgabeweite ermitteln. Dim sf As SizeF = hGraphics.MeasureString(msg, fnt) ' Ausgabeweite an die Variable "Length" übergeben. Length = sf.Width Catch ex As Exception ' Sollte hier ein Fehler auftreten wird dieser abgefangen ' und die Anwendung beendet. MessageBox.Show(ex.Message.ToString(), "Info") ' Anwendung beenden. Me.Close() End Try End Sub ''' <summary> ''' Grafikobjekt initialisieren und auf dem Ausgabeobjekt ausgeben. ''' </summary> Private Sub Timer1_Tick(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Timer1.Tick Try ' Hintergrund des Grafikobjektes an den Formhintergrund anpassen. hGraphics.Clear(Me.BackColor) ' Ausgabe des in der .xml Datei hinterlegten Strings. hGraphics.DrawString(msg, fnt, Brushes.Navy, [x], [y]) If [x] <= (0 - Length) Then [x] = Me.Width Else [x] -= 5 End If Catch End Try End Sub ''' <summary> ''' Beim MouseHover Ereignis wird der Lauftext angehalten. ''' </summary> Private Sub Form1_MouseHover(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.MouseHover ' Der Timer wird angehalten sobald die Maus in den Formbereich eintritt. Timer1.Stop() End Sub ''' <summary> ''' Verläßt die Maus die Form wird der angehaltene Lauftext wieder gestartet. ''' </summary> Private Sub Form1_MouseLeave(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.MouseLeave ' Verläßt die Maus den Formbereich wird der Timer gestartet. Timer1.Start() End Sub ''' <summary> ''' Verwendete Resourcen freigeben. ''' </summary> Private Sub Form1_FormClosing(ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing ' Wurde das Grafik Objekt initialisiert wird es jetzt freigegeben. If Not hGraphics Is Nothing Then hGraphics.Dispose() End If End Sub End Class Dieser Tipp wurde bereits 10.681 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats ![]() Microsys Kramer Mausrad im Formular abschalten (Access) Deaktiviert das Mausrad in Access-Formularen. Neu! sevDTA 3.0 Pro ![]() SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. |
||||||||||||||||
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. |