要实现的功能:设置CRichEditCtrl控件中的指定文字(如每一行的第10—12个文字)颜色。用循环控制。如何做?
代码:
CHARFORMAT cFmt;
cFmt.cbSize = sizeof(CHARFORMAT);
cFmt.crTextColor = RGB(0,0,255);
cFmt.dwEffects = 0;
cFmt.dwMask = CFM_COLOR;
for(int curLine=0; curLine<m_ConcordRichEdit.GetLineCount(); curLine++) {
lineStart = m_ConcordRichEdit.LineIndex(curLine);
//如何选定当前行?
m_RichEdit.SetSel(10,3);//指定文字
m_RichEdit.SetSelectionCharFormat(cFmt);//设置颜色
}
上面的代码不能实现功能,只能设置第一行。
请问该如何写才对?
代码:
CHARFORMAT cFmt;
cFmt.cbSize = sizeof(CHARFORMAT);
cFmt.crTextColor = RGB(0,0,255);
cFmt.dwEffects = 0;
cFmt.dwMask = CFM_COLOR;
for(int curLine=0; curLine<m_ConcordRichEdit.GetLineCount(); curLine++) {
lineStart = m_ConcordRichEdit.LineIndex(curLine);
//如何选定当前行?
m_RichEdit.SetSel(10,3);//指定文字
m_RichEdit.SetSelectionCharFormat(cFmt);//设置颜色
}
上面的代码不能实现功能,只能设置第一行。
请问该如何写才对?
这句话是针对整个控件的,所以你一直在设置了几个字符。