掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
リッチエディットの特定箇所の文字にすばやく色をつけたい (ID:69279)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
C++ 2005 MFCでのプログラムです。 リッチエディットコントロールに英語をカタカタと入力しています。入力文字は黒色です。 少し遅れて最初の文字から順に0.5秒毎程度で順次文字色を青色に変えています。 m_rich.SetSel(i, i+1); //iは0から文字列の最後の数まで増加させます。 re = m_rich.SetSelectionCharFormat(cf[1]);// 青色 cf[1] 黒色 cf[0] をCHARFORMAT2であらかじめ設定しています。 len = m_rich.GetWindowTextLengthW(); re = m_rich.SetSel(len,len); re = m_rich.SetSelectionCharFormat(cf[0]);// 黒色に戻す。 このプログラムでは問題が発生しています。 1)SetSelで青色に変える文字の範囲確定している瞬間に、キー入力すると本来は文字列の最後に入るべき文字が、範囲確定させた所に入ってしまいます。 2)SetSelectionが遅いのか、極まれにキー入力と重なるとRuntime エラーが出る。 これらの問題を回避する方法をお教えいただければ幸いです。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.