ピクチャーコントロールの色(背景色)について – プログラミング – Home

ピクチャーコントロールの色(背景色)に...
 
通知
すべてクリア

ピクチャーコントロールの色(背景色)について


あぶさん
 あぶさん
(@あぶさん)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

こんばんは、初めて質問させていただきます。

今、作成しているプログラムでボタンが押されたら、押された事が
わかるようにボタンに枠を付けようとしています。
ボタンの下にピクチャーコントロール(タイプ:四角 初期色:白)
をおいて、ボタンのON,OFFでピクチャーコントロールの色を
変更する仕様に決まったのですが、どうしてもピクチャーコントロ
ールの色の変更が上手くいきません。
ピクチャーコントロールの背景色を設定する事は難しいのでしょう
か?

何方か、ご存知の方おられましたらご教授の方、宜しくお願い致し
ます。

それでは、宜しくお願い致します。


引用解決済
トピックタグ
Shimura
 Shimura
(@Shimura)
ゲスト
結合: 22年前
投稿: 36
 

スタティックコントロール(ピクチャーコントロール)に SS_WHITERECT スタイルを
指定しないで、ウィンドウ(ダイアログ?)のWM_CTLCOLORSTATIC メッセージを
ハンドラしたほうが簡単かと。
SS_WHITERECT を指定しちゃうとサブクラス化する必要があるんではないかな。


返信引用
MK
 MK
(@MK)
ゲスト
結合: 25年前
投稿: 66
 

以下がいかがかと

http://www.athomejp.com/goldfish/mfc/button/setbitmap.html


返信引用
あぶさん
 あぶさん
(@あぶさん)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

Shimuraさん、MKさん、回答ありがとうございます。

Shimuraさんの方法は、初心者の私にはすぐに理解できない
ものがありますので、もう少し調べて(勉強して)みたいと
思います。(VBみたいに簡単に出来ればいいのですが)
もし、教えていただいた内容について、説明等が載っている
HPなどがありましら教えてください。(調べているんです
が、なかなか見つからなくて・・・)

MKさんの方法は、背景の色が変更されるのは良いのですが
、ボタンの文字が消えてしまうのがちょっとマズイです。
ビットマップに文字を書いておけばいいのですが、処理の状
態でボタンの文字が変わる仕様なのでちょっと難しいと思い
ます。(状態の数だけビットマップが必要になるはず)

また、何かありましたら、宜しくお願い致します。


返信引用
Shimura
 Shimura
(@Shimura)
ゲスト
結合: 22年前
投稿: 36
 

あぶさん へ。
開発環境を書くと幸せになれるかもしれません。
SDK? MFC?


返信引用
NEG(ねぐ)
 NEG(ねぐ)
(@NEG(ねぐ))
ゲスト
結合: 22年前
投稿: 178
 

 WM_CTLCOLORで色付け、、、
http://www24.cds.ne.jp/~neg/pro/piyo1/dialog/color.html

 色つきボタン、、、
http://www24.cds.ne.jp/~neg/pro/neg/neg010.html


返信引用
あぶさん
 あぶさん
(@あぶさん)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

Shimuraさん、NEGさん、回答ありがとうございます。

Shimuraさん>
申し訳ありませんでした。
質問するのに開発環境を書かないのは非常識ですよね。
開発環境は、Windows2000 SP3, VC++ 6.0 で開発しています。

NEGさん>
参考になるHPを紹介していただきありがとうございます。
早速、今から勉強させていただきます。

また、何かありましたら、質問する事があるかと思いますが、
その際は、宜しくお願い致します。


返信引用
Shimura
 Shimura
(@Shimura)
ゲスト
結合: 22年前
投稿: 36
 

>Windows2000 SP3, VC++ 6.0

ホントに知りたかったのは・・・

>SDK? MFC?  ←これだったんですけど。^^;

NEG(ねぐ)さんご紹介のページでOKというコトで、MFCなのねん。


返信引用
あぶさん
 あぶさん
(@あぶさん)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

Shimuraさん、すみませんでした。

>SDK? MFC?
MFCです。

で、ピクチャーコントロールの背景色の件ですが、今まではタイプを「四角形」
で色を「黒」に設定していたのですが、色を「縁取り」に変更したら、背景色が
変わりました。おそらく「縁取り」以外は強制的に設定した色になるのではな
いかなと初心者の私なりに納得しちゃいました。(間違っていたらご指摘下さ
い)

ただ、上記のような変更をし、リソースエディタを閉じた後に、再度リソース
を開くと、さっきまでピクチャーコントロールだったコントロールがテキスト
コントロールに変わっていました。(プロパティにタイトルを見ればわかると
思います)
どうしてこのような現象が起きるんだろう・・・。(こんな事常識なのかな?)

何方、この現象についてご存知の方は教えて下さい。


返信引用
Shimura
 Shimura
(@Shimura)
ゲスト
結合: 22年前
投稿: 36
 

>おそらく「縁取り」以外は強制的に設定した色になるのでは
そです。なもんで、これを変更するにはサブクラス化の必要が・・というのが
いくつか前の僕のリプライ。

>ピクチャーコントロールだったコントロールがテキストコントロール
>この現象についてご存知の方
ピクチャーコントロールもテキストコントロールも、すべて
STATIC というウィンドウクラス名をもつコントロール。
つまりはスタティックコントロールです。

VB からの移行だと、このあたりとまどうよね。
僕も昔々はVB使ってた。(・・・2.0の時代だけど)


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました