エディットボックスの背景色を部分的に変更


えね  2003-08-13 12:06:21  No: 51938  IP: [192.*.*.*]

初めまして質問させていただきます。

現在 VC++5.0 + SDK で、開発をしております。

そこで、複数行のエディットボックスにて、先頭から特定の行までの背景色を
変更したいと思っておりますが、今一つどうすればいいのか分かりません。

どなたか、これはと思う方法をご存じの方いましたらよろしくお願いします。

編集 削除
Toshi  2003-12-23 06:13:36  No: 51939  IP: [192.*.*.*]

それはちょっと不可能だと思います。
出来る事は
・入力行と未入力行の色を分ける。
・入力された行が特定の行数を超えたら、入力行の色を変更する。
ぐらいだと思います。

編集 削除
ah  2004-01-13 14:20:10  No: 51940  IP: [192.*.*.*]

見当違いだったらすいません。

CEdit内の一部の色を変更するには、CEditクラスを派生させ
OnPaint()をオーバーライドするのが常套手段かと思います。

あとは、CEditを諦めて、CRichEditCtrlを使うとか。

編集 削除
YuO  2004-01-14 13:19:19  No: 51941  IP: [192.*.*.*]

背景を塗り替えるのだから,OnPaintよりもOnEraseBkgndで処理した方がよいです。
OnPaintでは文字列まですべて描画する必要があります。

編集 削除