[リストへもどる]
一括表示

投稿時間:2003/02/04(Tue) 19:51
投稿者名:あやめ
Eメール:
URL :
タイトル:
動画GIFの表示について
動画GIFを表示させたいのですが、
PictureBox,ImageなどでGIFを詠み込ませても
最初の画像しか表示することが出来ませんでした。
動画GIFを表示させることは無理なのでしょうか?

ご存知の方がいらっしゃったら、教えてください。
よろしくお願いいたします。

Win2000 VB6.0 SP5 です。

投稿時間:2003/02/04(Tue) 20:14
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 動画GIFの表示について
左のメニューのグラフィック関係を見て下さい。

投稿時間:2003/02/04(Tue) 20:27
投稿者名:あやめ
Eメール:
URL :
タイトル:
Re^2: 動画GIFの表示について
> 左のメニューのグラフィック関係を見て下さい。

申し訳ないです。
見落としていました。m(_ _)m

投稿時間:2003/02/04(Tue) 20:42
投稿者名:あやめ
Eメール:
URL :
タイトル:
Re^2: 動画GIFの表示について
> 左のメニューのグラフィック関係を見て下さい。

サンプルをそのまま貼り付けて実行したのですが、
Dim HStyl As HTMLStyle の箇所で
「ユーさ定義型は定義されていません。」とエラーがでました。


HTMLStyleは、どうすれば定義されるのでしょうか?

投稿時間:2003/02/04(Tue) 21:28
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: 動画GIFの表示について
> 「ユーさ定義型は定義されていません。」とエラーがでました。

記載洩れで失礼しました。
参照設定 で Microsoft HTML object Library にもチェックを入れて
おいて下さい。

投稿時間:2003/02/05(Wed) 11:02
投稿者名:あやめ
Eメール:
URL :
タイトル:
Re^4: 動画GIFの表示について
> > 「ユーさ定義型は定義されていません。」とエラーがでました。
>
> 記載洩れで失礼しました。
> 参照設定 で Microsoft HTML object Library にもチェックを入れて
> おいて下さい。

動きました。
ありがとうございます。
また、OSによって背景色が違うのですが
BackgroundColorを設定するいい方法はありますか?

投稿時間:2003/02/05(Wed) 11:20
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^5: 動画GIFの表示について
> BackgroundColorを設定するいい方法はありますか?
"#FFFFFF"や"#C0C0C0"などといった色番号を指定するかわりに、
"Window"や"ThreeDFace"などの文字列を指定してみてください。

CSS2の "Window"は、VBでいうところの vbWindowBackground 定数に相当し、
"ThreeDFace" は、VBの vb3DFace 定数に相当します。(他にも数種が存在します)
http://www.ne.jp/asahi/minazuki/bakera/html/css/dataformat#color
http://www.runan.net/program/css/cssRefa/0Supported-color.htm

なお、そのプロパティの名前は、正しくはBackgroundColorではなく、backgroundColorです。
VBではどちらの記述でも動きますが、JScriptやC#では、大文字小文字が
厳密に区別されますので、正しい記述を覚えておいた方が良いですよ。

投稿時間:2003/02/05(Wed) 11:26
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^5: 動画GIFの表示について
> また、OSによって背景色が違うのですが
> BackgroundColorを設定するいい方法はありますか?

本当にここのサンプルを試されたのですか?

  'フォームのバックカラーを取得し、HTM形式の色コードに変換
  myRGB = HtmColor(GetBkColor(Me.hdc))
  With HStyl
    'バックカラーの設定(フォームと同じ色に) "#ece9d8" (WinXP用)
    .backgroundColor = "#" & myRGB(0) & myRGB(1) & myRGB(2) '"gray"

この部分はどうしていますか?

他人が作ったサンプルを使う場合 コードをよく理解してから改造するなり
起動するなりしないと、トラブルの元になりますよ!

投稿時間:2003/02/05(Wed) 11:39
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^6: 動画GIFの表示について
> 本当にここのサンプルを試されたのですか?

サンプルを見ましたが、あれではうまくいかない場合があると思います。

VBでは、&H80000000&番台の色番号は、システム定義色となっています。
(これらの値は、SystemColorConstants列挙定数として定義されています)

例えば、スクロールバーの色であるvbScrollBars (=&H80000000&)が
フォームの背景色に選択されていたとしたら、あのサンプルでは
"#000000"を指定する事になってしまいます。
これでは、画面の設定には関係なく、常に「黒」になってしまいますね。


システム色を指定させる場合は、先の回答(No.2598)のように、
CSS2のユーザー定義カラー値を利用した方が良いでしょう。


# ちなみに、Navigate後にDoEventsをかけていますが、表示待ちを行うのであれば、
# DocumentCompleteイベントの発生を待つようにした方が良いですよ。>花ちゃんさん

投稿時間:2003/02/05(Wed) 12:00
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^7: 動画GIFの表示について
GetBkColor APIで色コードを取得してそれをHTM形式の色コードに変換
しておりますので、Win98 や WinXP でも問題なく設定できておりますし
フォームのbackColorを変更しても問題なくbackColorが反映されて
おりますが、その他 どのような場合にうまくいかないのでしょうか?

ThreeDFace Window のような定数があるのは知りませんでした。
当時いろいろ調べたのですが
でも上記定数では Window は WinXP では 白 でだめです。
ThreeDFace では フォームのbackColorを変更した場合 ボタンの
表面と同様変わりません。

> # ちなみに、Navigate後にDoEventsをかけていますが、表示待ちを行うのであれば、
> # DocumentCompleteイベントの発生を待つようにした方が良いですよ。>花ちゃんさん
ありがとうございます。早速試してみます。

投稿時間:2003/02/05(Wed) 12:18
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^8: 動画GIF
> GetBkColor APIで色コードを取得してそれをHTM形式の色コードに変換
> しておりますので、Win98 や WinXP でも問題なく設定できておりますし
> フォームのbackColorを変更しても問題なくbackColorが反映されて
> おりますが、その他 どのような場合にうまくいかないのでしょうか?

テーマ変更などが発生した場合に、色化けするような気がしたのですが……
単に、当方のメモリ不足が原因で、黒塗り状態になってしまっていただけのようです。(;_;)
内容をきちんと確認せず、申し訳ありませんでした。m(_ _;)m


> ThreeDFace では フォームのbackColorを変更した場合 ボタンの
> 表面と同様変わりません。
常に固定で ThreeDFace を設定するのではなく、ユーザー定義カラー(&H800000&番台のOLE_COLOR値)が
指定された場合はCSS2の定義カラーを渡し、そうでなければ色番号で渡すような条件わけが必要かと。


<後編集>
すみません。上記の場合わけが必要かと思っていたのですが……実行中にシステムカラーを
変更した場合、ボタンの表面の色は変化するのに、フォームの背景色は、フォームを
起動しなおすまで、元の色のままのようですね。。。気が付きませんでした。

であれば、特に定数化せずとも、「フォーム起動時のGetBkColor値」を指定したままでも、
背景色と同じ色のままであるというわけですね。。。
# 以前、SysColorsChangedイベントで毎回GetBkColorを呼びなおすような
# プログラムを書いた事があるけれど……あれは無意味だったのか。(泣)
</後編集>

>> # ちなみに、Navigate後にDoEventsをかけていますが、表示待ちを行うのであれば、
>> # DocumentCompleteイベントの発生を待つようにした方が良いですよ。>花ちゃんさん
> ありがとうございます。早速試してみます。
つまり、
   Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
      Set HStyl = pDisp.document.body.style
             :
   En Sub
のような感じですね。

DocumentCompleteでスタイルを変更させるようにしておくと、WebBrowserに
別の画像をドロップされた時にも、新しい画像の背景も補正させる事ができますよ。
(なお、ドロップを禁止したい場合には、RegisterAsDropTargetプロパティを利用できます)

投稿時間:2003/02/05(Wed) 12:55
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^9: 動画GIF
色々ありがとうございました。
たかが、backColor でこれほど悩まされるとは思っても見ませんでした。

投稿時間:2003/02/05(Wed) 13:45
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
フォームの背景色について
気になったので、フォームの背景色について少し調査してみました。

VBの開発環境の場合、先の投稿修正にも書きましたが、
フォームを起動しなおすまでは、システムカラーの変更が
何故か正しく反映されないようです。


例えば、画面のプロパティの設定により、フォームの背景色が
灰色に割り当てられていたとします。この状態でフォームを起動し、
そして、フォームを起動したままシステムカラーの変更を行って、
背景色を茶色にしてみます。

すると、ボタンの表面の色やチェックボックスの背景色などは
正しく茶色に変更されるのに、フォームだけは元の灰色のままでした。
(ただし、GetBkColorで変換すると、正しい値(茶色)が返されます)


それに対し、コンパイルしてからEXEとして実行させた場合は、
フォーム起動中に変更があっても、フォームの背景色まで
正しく置き換わるようです。



――――さて、話はかわりますが。。。

(Sample 208)
》 WebBrowserコントロールのヘルプ[Webrowse.hlp]は「Office 97」のCD-ROMの中に
》 あります。「Office 97」をお持ちでしたら探して見て下さい。

このヘルプはIE3時代の物です。そのため、幾つかのプロパティの解説が抜けています。
IE6相当の最新版に付いては、SDKで確認してみてください。(ただし、残念ながら和訳されていません)

[WebBrowser Control]-[Reference for Visual Basic Developers]
http://msdn.microsoft.com/workshop/browser/webbrowser/reflist_vb.asp


(プログラム専用掲示板 No.2602)
》 ThreeDFace Window のような定数があるのは知りませんでした。
》 当時いろいろ調べたのですが
IE4の頃は、IEの独自実装という事になっていたと思いますが(違うかも)、現在、これらの値は
CSS2で正式に定義された、標準規格に基づいた定数という扱いになっています。


W3C 勧告 [Cascading Style Sheets, level 2 CSS2 Specification] (1998年5月12日)
http://www.w3.org/TR/1998/REC-CSS2-19980512

上記の参考邦訳
http://www.swlab.csce.kyushu-u.ac.jp/man/rec-css2/ui.html#system-colors



なお、IEにおける実装に付いては、下記の資料を参考にして見てください。

[Color Table]
http://msdn.microsoft.com/workshop/author/dhtml/reference/colors/colors.asp

[background-color Attribute | backgroundColor Property]
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/backgroundcolor.asp

投稿時間:2003/02/06(Thu) 11:37
投稿者名:あやめ
Eメール:
URL :
タイトル:
Re^8: 動画GIFの表示について
花ちゃん、魔界の仮面弁士さん。
色々と調べて頂いて有り難う御座いました。

お二人の御陰で解決することが出来ました。