MFC之CRichEdit改变指定区域的背景色和字体

来源:互联网 发布:ubuntu 虚拟机 分辨率 编辑:程序博客网 时间:2024/06/05 14:15

MFC之CRichEdit改变指定区域的背景色和字体
2010-08-12 15:06
注:m_richedit1代表ID为IDC_RICHEDIT1的CRichEditCtrl控件的control类型的变量

1. 如何使用richedit添加AfxInitRichEdit();
CxxxApp::InitInstance()
{
AfxInitRichEdit();
.............
}

       AfxInitRichEdit()功能:装载 RichEdit 1.0 Control (RICHED32.DLL).

2. 改变richedit指定区域的文字颜色及字体

        CHARFORMAT cf;
ZeroMemory(&cf, sizeof(CHARFORMAT));
cf.cbSize = sizeof(CHARFORMAT);
cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE |
CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE;
cf.dwEffects = 0;
cf.yHeight = 12*12;//文字高度
cf.crTextColor = RGB(200, 100, 255); //文字颜色
strcpy(cf.szFaceName ,_T("隶书"));//设置字体
m_richedit1.SetSel(1, 5); //设置处理区域
m_richedit1.SetSelectionCharFormat(cf);

3.  改变richedit指定区域的文字背景颜色

        CHARFORMAT2 cf; //声明为CHARFORMAT2结构,详细见MSDN
ZeroMemory(&cf, sizeof(CHARFORMAT2));
cf.cbSize = sizeof(CHARFORMAT2);
cf.dwMask = CFM_BACKCOLOR;         cf.crBackColor=RGB(0, 255, 0); //背景颜色为绿色
m_richedit1.SetSel(0, 2); //设置处理区域               

m_richedit1.SendMessage(EM_SETCHARFORMAT,SCF_SELECTION,(LPARAM)&cf);

 

//窗口类

http://msdn.microsoft.com/zh-cn/b5wzwdk7.aspx

原创粉丝点击