vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Grafik und Font · Bilder & Icons   |   VB-Versionen: VB4, VB5, VB624.12.01
Animierte GIFs anzeigen

Dieses Beispiel zeigt, wie man das WebBrowser-Control dazu missbrauchen kann, animierte GIF-Grafiken anzuzeigen.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  70.995 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Visual Basic unterstützt zwar seit der Version 5.0 das GIF-Bildformat, doch werden animierte GIF-Grafiken nicht als solche dargestellt, sondern vielmehr immer nur das erste Bild einer animierten GIF-Grafikfolge.

Wie Sie dennoch animierte GIFs in Ihren Programmen anzeigen können, ohne auf zusätzliche Freeware/Shareware oder gar kommerzielle Komponenten zurückgreifen zu müssen, zeigt Ihnen der nachfolgende "weihnachtliche" Tipp

Alles was Sie brauchen, sind ein Image- und ein WebBrowser-Control. Das Image-Control verwenden wir, um die Größe der GIF-Grafik zu ermitteln, das WebBrowser-Control übernimmt die Darstellung der animierten GIF-Grafik.

Nun wird ja aber bekanntlich immer automatisch ein Scrollbalken im WebBrowser-Control angezeigt, sowie automatisch auch ein kleiner Rand freigehalten. Um diese "Einschränkungen" zu umgehen, schreiben wir eine kleine HTML-Seite mit folgendem Body-Attribut:

<html>
<body leftMargin=0 topMargin=0 marginheight=0
 marginwidth=0 scroll='no'>
<img src="GIF-Datei.gif"></img>
</body>
</html>

Und genau diesen kurzen HTML-Code übergeben wir dem Navigate-Befehl des WebBrowser-Controls.

Zuvor müssen wir aber noch die Größe des Browser-Fensters entsprechend der Bildgröße anpassen. Hierzu laden wir die GIF-Grafik zunächst in ein unsichtbares Image-Control. Da sich die Größe des Image-Controls standardmässig immer der Grafik anpasst, können wir so ganz leicht die Größe an das WebBrowser-Control übetragen:

' Grafik-Größe ermitteln
Image1.LoadPicture("GIF-Datei.gif")
 
' WebBrowser-Fenstergröße anpassen
With WebBrowser1
  .Width = Image1.Width + 45
  .Height = Image1.Height + 45
End With

Mit diesen paar Codezeilen können Sie also ab sofort Ihre animierte GIF-Grafiken anzeigen lassen.

Hier der vollständige Code
Um eine animierte GIF-Grafik anzuzeigen, rufen Sie zukünftig die Prozedur ShowAnimatedGIF auf und übergeben dieser als Parameter das auf der Form befindliche WebBrowser-Control, ein unsichtbares Image-Control, sowie den Dateinamen der GIF-Grafik selbst.

' Animierte GIF-Grafik im WebBrowser-Control anzeigen
Public Sub ShowAnimatedGIF(WB As Control, _
  img As Control, ByVal sFileGIF As String)
 
  Dim sHTML As String
 
  ' Größe bestimmten
  img.Picture = LoadPicture(sFileGIF)
 
  With WB
    ' Größe: WebBrowser-Control
    .Width = img.Width + 45
    .Height = img.Height + 45
 
    ' HTML-Code für das Anzeigen der Grafik
    sHTML = "about:" & _
      "<html>" & _
      "<body leftMargin=0 topMargin=0 marginheight=0 " & _
        "marginwidth=0 scroll='no'>" & _
      "<img src=""" & sFileGIF & """></img></body></html>"
 
    .Silent = True
    .Navigate sHTML
  End With
End Sub