エディットボックスの背景色を変えたときエディットボック内の文字列が消えないようにするには?

解決


au  2003-07-18 19:38:24  No: 51775

Windows 2000 VC6.0 MFCで開発しています。
エディットボックス(読み取り専用、複数行可、垂直スクロールバー有り)の背景色をOnCtrlColor()で白色に変えています。
エディットボックスに表示された文字列を選択したり、ダブルクリックしたりしたり、ドラッグした場合、表示された文字列が選択した所だけ表示され、他の文字列部分が消えてしまいます。
OnCtlrColor()で背景色を変えない場合は、エディットボックス内の文字列は、選択しても消えません。
エディットボックス(読み取り専用、複数行可、垂直スクロールバー有り)の背景色を変えた場合、文字列を選択しても消えないようにするにはどうしたらよいでしょうか?


pbmplus  2003-07-18 21:07:07  No: 51776

おそらく背景色と文字色が「同じ色」なのではないかと思います。
どちらかの色を変更すればそのような現象は起きないはずです。


au  2003-07-19 08:14:34  No: 51777

ありがとうがざいました。解決しました。
背景色のブラシを初期化して色を設定していなかったのと、複数行のエディットボックスをGetRect()とFillSolidRect()で塗りつぶしていたので選択した文字列以外が消えていました。SetBkColor()を使うとできました。


au  2003-07-19 08:16:06  No: 51778

すみません。解決ボタン押し忘れました。


au  2003-07-19 08:16:09  No: 51779

すみません。解決ボタン押し忘れました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加