ページ 11

背景色をボタンとかにも反映させたい

Posted: 2005年9月23日(金) 20:30
by Mario2
AB 4.10.00を使っています。
ウィンドウの背景色を「黄」にして、その色にしたウィンドウを表示させると背景が黄色のウィンドウが表示されると思います。
そのウィンドウにButtonやStaticを入れてコンパイルすると、その部分だけ背景が黄色ではありません。
この時、ButtonやStaticの背景も背景と同じ色にしたいのですが、どうすればいいのでしょうか?
(「色」での回答も待っていますが、「画像」の時の回答もお待ちしています。)
よろしくお願いします。

Re: 背景色をボタンとかにも反映させたい

Posted: 2005年9月24日(土) 23:40
by Tomorrow
↓とりあえずこのあたりが参考になるかと思います。
[AB3] エディットコントロールの色変更
[AB3] Staticコントロールの文字色変更

ポイントは...
(1) MainWndProc()にてWM_CTLCOLORxxxxを処理する。
(2) SetBkMode()で背景モードの切り替え。(透過させるか背景色で塗り潰すかの指定。)
(3) SetTextColor()でテキストの色を指定。
(4) SetBkColor()で背景色を指定。
(5) 最後に背景色のブラシをReturn。
です。

あと、GetStockObject()を使うといちいちブラシを削除しなくてもよいので楽です。
画像(ビットマップとか?)の場合、背景を透過にすればよい.. かな?

Re: 背景色をボタンとかにも反映させたい

Posted: 2005年9月25日(日) 10:55
by Mario2
ありがとうございます。
何とか自力でがんばってみます。

Re: 背景色をボタンとかにも反映させたい

Posted: 2005年9月28日(水) 23:35
by EIJI
ActiveBasicFan で"ボタンのオーナー描画"を見つけました。
他で探しても同じようなものでした(しかもCやC++での情報)。
私にはまだわかりませんが、詳しく書かれていますので参考になるのではないでしょうか?
http://abfan.active.client.jp/025.html