掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CEditの背景色全体を黒色にするには? (ID:67713)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Edit Box内の文字列が変更されたら、背景色を黒、文字色を白に変更させたいのですが、 文字色と、文字部分のみの背景色が変わるだけで、Edit Box全体の背景色が変わりません。 文字色はOKですが、Edit Box全体の背景色を変更するには、どうしたら良いでしょうか? 処理はEditBox::CtlColor(CDC* pDC, UINT nCtlColor)で行っています。 HBRUSH EditBox::CtlColor(CDC* pDC, UINT nCtlColor){ COLORREF bcr, cr; CBrush br; if(Edit Box内の文字列が変更された){ switch(nCtlColor){ case CTLCOLOR_EDIT: cr = RGB(255, 255, 255); bcr = RGB(0, 0, 0); br.DeleteObject(); br.CreateSolidBrush(bcr); pDC->SetBkColor(bcr); pDC->SetTextColor(cr); break; } return (HBRUSH)br; } ちなみに、リドローするとEdit Box全体の背景色が変わります。 なので、RedrawWindow()を呼ぶとEdit Box全体の背景色変わるのですが、 何度もON_WM_CTLCOLORメッセージが飛んでくるため、画面がチカチカします。 良い方法はないでしょうか?ご教授お願いいたします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.