当我第一次将RichEdit控件放在资源窗体上的时候,发现程序根本就不能运行。后来才找到原因,原来Rich Edit 控件是Ole类型的控件。在加载Rich Edit 控件的时候,必须进行初始化。代码如下:
BOOLCTestApp::InitInstance(){
.....
AfxInitRichEdit();
}
同时,为控件添加文本以及格式设置如下
void CCRICHEDITTESTDlg::OnBnClickedButton1()
{
CString str, str2;
str = "dawda";
str2 = "qeqwe";
CHARFORMAT cf,cf2;
memset(&cf, 0, sizeof(cf));//这个绝对不能省!
cf.cbSize = sizeof(cf);
cf.dwMask |= CFM_COLOR;
cf.crTextColor = RGB(255, 0, 0);//颜色值
CRichEdit.SetSelectionCharFormat(cf);
CRichEdit.SetSel(-1, -1);
CRichEdit.ReplaceSel(str);
memset(&cf2, 0, sizeof(cf2));//这个绝对不能省!
cf2.cbSize = sizeof(cf2);
cf2.dwMask |= CFM_COLOR;
cf2.crTextColor = RGB(0, 0, 255);//颜色值
CRichEdit.SetSelectionCharFormat(cf2);
CRichEdit.ReplaceSel(str2);
其中cd与cf2未格式对象,接着的格式都要一样.