VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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プロパティを利用できます)


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -