2017-02-01 3 views
0

MFC、C++プログラミングの新機能です。この問題で私を助けてください。 (CRichEditCtrlで作成された)編集ボックスには、いくつかの行があります。私はある期間(赤い色で)1つの行を強調表示する必要があります(例:1秒間強調表示された行1、その後に行の色を元に戻す)。MFC:CRichEditCtrlの行を一定期間強調表示して元に戻す

どうすればいいですか?事前に おかげ

+0

EM_SETCHARFORMATメッセージを使用して実行できます。https://msdn.microsoft.com/en-us/library/windows/desktop/bb774230(v=vs.85).aspx – VuVirt

答えて

0

まずすると、SetTimer(WMT_MYTIMER,1000,NULL)と同様のタイマーを作成するにOnTimerオーバーライドし、KillTimerでタイマーを停止してリセットし、この

`

// Select your string (start is the index in characters (not in lines) 
GetRichEditCtrl().SetSel(nStart, nStart + nLength); 

// Get the CHARFORMAT structure ready 
CHARFORMAT cf; 
cf.cbSize  = sizeof (cf); 
cf.dwEffects = 0; 
cf.dwMask  = CFM_COLOR; 
cf.crTextColor = RGB(255,0,0); 

GetRichEditCtrl().SetSelectionCharFormat(cf); 

`

のような設定を設定します上記のような色です。

+0

解決済み..ありがとう – user7499788

関連する問題