初めてきました。
よろしくお願いいたします。
Windows XP SP1 の Visual C++ .NET で開発していますが、Edit Control の背景色を変
えることが出来るのでしょうか?
もし、仮に出来るのであれば、それは Read Only が TRUE でも可能なのでしょうか?
知っている方がいましたら教えてください。
親ウィンドウに送られてくる
WM_CTLCOLOREDITメッセージで背景色のブラシを返せばOKです。
また、読み取り専用の場合はWM_CTLCOLORSTATICメッセージで
応答すれば良いようです。
MFCを使っているのであればOnCtlColorを使えば出来ると思います。
やはり、CEdit クラスの派生クラスを作らないとだめなのでしょうか?
もし派生クラスを作らなくてよい方法があれば助かるのですが・・・・・・
CDialog::OnCtlColorではダメですか?
丁度良さそうなページ見つけました^^;
http://homepage2.nifty.com/DSS/VCPP/MFC/CEdit/CEditBackColor.htm
見当はずれかもしれないけど、リッチエディットを使用するとか。
CRichEditCtrl の SetBackgroundColor を使うと楽にできるかもね。
Editなら晃さんがおっしゃっているようにやるのがいいのかも。
晃さんは「親ウインドウで」と書かれているのですから、
CEditクラスの派生をどうのとは書いていないと思います。
WM_CTLCOLOEREDITとかWM_CTLCOLORSTATICを調べてみるとか、
OnCtrlColorを調べてみれば、CEditクラスの派生が必要では
無い事はわかると思いますので調べてみてください。
誤字(^^;
誤)
WM_CTLCOLOEREDIT
正)
WM_CTLCOLOREDIT
ああっ、パンチミス。
誤)
OnCtrlColor
正)
OnCtlColor
みなさんからいただいた情報を元に調査してみます。
ありがとうございます。