アニメーションファイルを表示 |
GIFファイルのアニメーションをVBで表示 (208) | |
'プロジェクト→コンポーネント で Microsoft Internet Controls に 'チェックを入れて、WebBrowserコントロールをFormに貼り付けて下さい 'プロジェクト→参照設定 で Microsoft HTML Object Library に 'チェックを入れておいて下さい。 Option Explicit 'SampleNo=208 WindowsXP VB6.0(SP5) 2002.09.14 'デバイスコンテキストの背景色を取得する(443) Private Declare Function GetBkColor Lib "gdi32" _ (ByVal hdc As Long) As Long Private MyURL As String Private WorkNo As Long Private Sub WebBrowser1_DocumentComplete( _ ByVal pDisp As Object, URL As Variant) Dim HStyl As HTMLStyle Dim myRGB As Variant Dim BkColor As String If MyURL = URL And WorkNo = 1 Then Set HStyl = WebBrowser1.Document.body.Style 'バックカラーの設定(フォームと同じ色に) If Me.BackColor <> vbButtonFace Then 'フォームのバックカラーを取得し、HTM形式の色コードに変換 myRGB = HtmColor(GetBkColor(Me.hdc)) 'コメントを外せば条件分けしなくてもOK、その場合起動時の 'フォームの色のままです。 ' Me.BackColor = GetBkColor(Me.hdc) BkColor = "#" & myRGB(0) & myRGB(1) & myRGB(2) Else 'こちらは起動中システムカラーが変更されたらそれが有効になる BkColor = "ThreeDFace" End If With HStyl .backgroundColor = BkColor '枠線を非表示に設定(スペースを指定すると凹型になる" .border = "0" '.border = " " 'スクロールバーを非表示に設定 '.overflowX = "hidden" .overflow = "hidden" '他に visible・scroll・auto が設定可能 '表示位置の設定 'Top 及び Left マージンを設定(単位=Pixel) .marginLeft = "10px" .marginTop = "10px" End With Set HStyl = Nothing End If If MyURL = URL And WorkNo = 2 Then MyURL = CreateObject("Scripting.FileSystemObject" _ ).GetAbsolutePathName("..\AN050.GIF") WebBrowser1.Document.write "<img src='" & MyURL & "'>" WebBrowser1.Document.write "<img src='" & MyURL & "'>" Set HStyl = WebBrowser1.Document.body.Style With HStyl .backgroundColor = "ThreeDFace" '枠線を非表示に設定(スペースを指定すると凹型になる" .border = "0" '.border = " " 'スクロールバーを非表示に設定 '.overflowX = "hidden" .overflow = "hidden" '他に visible・scroll・auto が設定可能 '表示位置の設定 'Top 及び Left マージンを設定(単位=Pixel) .marginLeft = "10px" .marginTop = "10px" End With Set HStyl = Nothing End If End Sub Private Sub Command1_Click() '通常表示 MyURL = CreateObject("Scripting.FileSystemObject" _ ).GetAbsolutePathName("..\AN050.gif") WebBrowser1.Navigate MyURL WorkNo = 1 End Sub Private Sub Command2_Click() '複数表示1 MyURL = "about:blank" WebBrowser1.Navigate2 MyURL WorkNo = 2 End Sub Private Function HtmColor(ByVal VBColor As Long) As Variant 'VBの色コードからHTMの色コードに変換 Dim R As String Dim G As String Dim B As String R = Hex$(VBColor And vbRed) G = Hex$((VBColor And vbGreen) \ &H100) B = Hex$((VBColor And vbBlue) \ &H10000) If Len(R) = 1 Then R = "0" & R If Len(G) = 1 Then G = "0" & G If Len(B) = 1 Then B = "0" & B HtmColor = Array(R, G, B) End Function |
|
HTMとはカラーの設定値が違うのでバックカラーを取得して、HTM形式のカラー値に変換して 設定しています。バックカラーについては好みにより設定を変更して下さい。 WebBrowserコントロールのヘルプ[Webrowse.hlp]は「Office 97」のCD-ROMの中に あります。「Office 97」をお持ちでしたら探して見て下さい。(但し、古いですが日本語版です) 以前のサンプルでは、WebBrowserコントロールのスクロールバーが表示したままなので、(WEB 上で見かける他のサンプルも同様)消す方法が無いものと思い裏業を使っていたのですが、V友 に[魔界の仮面弁士]さんの投稿があって非表示にできる事を知り、色々調べていたらヘルプ ファイルの存在も知り、魔界の仮面弁士さんの投稿等を参考に今回サンプルを作り直しました。 事前バインディングする事で、インテリセンス機能が働き、簡単に設定を色々試す事ができる かと思います。 その他、詳しくはプログラム専用掲示板のNo.2582〜とNo.2617〜の一連の投稿を見て下さい。 |