• ベストアンサー

メッセージボックスの背景色

いつもお世話になってます。 VB6.0でメッセージボックスの背景を任意の色に変更する事は可能ですか? フォームの背景をデフォルトの色(&H8000000F&)と違う色(&H00FFC0C0&)にしているので、メッセージボックスも同じ色に合わせたいのです。 どうすればメッセージボックスの背景色を変更する事ができるのでしょう? 御存知の方、回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • souta_n
  • ベストアンサー率33% (79/234)
回答No.1

メッセージボックスみたいなフォームを任意に作って、表示させたいイベントでSHOWさせてみたらいかがでしょう。

lovelypooh
質問者

お礼

回答ありがとうございました。 メッセージボックスの背景色を変更したアプリやOCXの存在を聞いたことがあるので 簡単にできるのかと思ってました。 メッセージボックスはフォームから作ることにします。

その他の回答 (2)

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.3

やってできないことはない。 単純方法としては、画面のプロパティを操作してやりゃ、当然ながら色は変わる。 でもWindows自体を触るので却下として。。。 フックして、WM_PAINTなどの時に、独特の配色をしてやりゃ、できるはず。 実験はしていないが、フックしてからメッセージメッセージボックスを表示することになるため、フック関数部分をCreateThreadで、別スレットでの制御にしないと、基本的にシングルスレットVBでは落ちるように思える。 これは想像であって、もしかしたら別スレにしないでも、大丈夫かもしれない。 あまりにも一般的ではなさ過ぎるように思えるし、かなり面倒そう。 よって参考URLの締めと同様、オリジナルフォームを作った方がよさそう。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=384428
lovelypooh
質問者

お礼

回答ありがとうございました。 メッセージボックスの背景色を変更したアプリやOCXの存在を聞いたことがあるので 簡単にできるのかと思ってました。 メッセージボックスはフォームから作ることにします。

回答No.2

VBでのMessageBoxはシステムで表示されているので、色変えはできないはずです。 #1の方の仰る通り自作のMessageBoxをFormで作成して、Show 1(モーダル表示)させるのだ一番だと思います。

lovelypooh
質問者

お礼

回答ありがとうございました。 メッセージボックスの背景色を変更したアプリやOCXの存在を聞いたことがあるので 簡単にできるのかと思ってました。 メッセージボックスはフォームから作ることにします。