编辑框为CRichEditCtrl,在CWinApp中的InitInstance中添加AfxInitRichEdit2方法,然后使用CHARFORMAT这个结构设置字体风格与颜色, 在对话框上放置CRichEditCtrl,然后为对话框类关联变量m_RichEditCtrl
int i=1; //第二行行号
int start=m_RichEditCtrl.LineIndex(i); //第二行开始的索引号
int end=m_RichEditCtrl.LineIndex(i+1); //第三行开始的索引号
m_RichEditCtrl.SetSel(start,end);//全选第二行文本
CHARFORMAT cf;
m_RichEditCtrl.GetSelectionCharFormat(cf);
cf.dwMask|=CFM_BOLD;
cf.dwEffects|=CFE_BOLD;//设置粗体,取消用cf.dwEffects&=~CFE_BOLD;
cf.dwMask|=CFM_ITALIC;
cf.dwEffects|=CFE_ITALIC;//设置斜体,取消用cf.dwEffects&=~CFE_ITALIC;
cf.dwMask|=CFM_UNDERLINE;
cf.dwEffects|=CFE_UNDERLINE;//设置斜体,取消用cf.dwEffects&=~CFE_UNDERLINE;
cf.dwMask|=CFM_COLOR;
cf.crTextColor = RGB(255,0,0);//设置颜色
cf.dwMask|=CFM_SIZE;
cf.yHeight =200;//设置高度
cf.dwMask|=CFM_FACE;
strcpy(cf.szFaceName ,_T("隶书"));//设置字体
m_RichEditCtrl.SetSelectionCharFormat(cf);
可以用这样来设置
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 = 16*16;//文字高度
if(nhight>0)
cf.crTextColor = RGB(255,0,0); //文字颜色
//else
// cf.crBackColor = RGB(0,255,0); //文字颜色
strcpy(cf.szFaceName ,_T("Arial"));//设置字体
//m_richedit1.SetSel(1, 5); //设置处理区域
this->SetSelectionCharFormat(cf);
this->ReplaceSel(strLine);
this->ReplaceSel("\n");
分享到:
相关推荐
总的来说,"vc richedit 设置字体颜色"是一个关于Windows GUI编程的话题,涉及到Visual C++的MFC库和Rich Edit控件的使用,特别是如何通过CHARFORMAT2结构和EM_SETCHARFORMAT消息来改变文本的格式。通过熟练掌握这些...
通过`CRichEditCtrl`,我们可以轻松地在应用程序中集成这些高级特性,例如设置文本的字体、大小、颜色,以及插入图片、表格等。 要实现多行显示,首先需要在MFC应用程序的资源编辑器中添加一个`CRichEditCtrl`控件...
你可以使用`CHARFORMAT2`结构来定义格式,然后通过`SendMessage`发送该消息。例如,定义超链接的样式: ```cpp CHARFORMAT2 cf; ZeroMemory(&cf, sizeof(cf)); cf.cbSize = sizeof(cf); cf.dwMask = CFM_COLOR ...
对于字体的设置,同样先用`SetSel`选择文本,再用`SetSelectionCharFormat`,并修改`CHARFORMAT2`结构中的`cfCharFontName`、`yHeight`和`bCharSet`等字段。 以下是一段示例代码,演示了如何插入图片和设置颜色: ...
开发者可能还需要使用EM_SETCHARFORMAT消息和CHARFORMAT结构来更精细地控制文本格式。 接下来,我们要讨论的是页面的等比例缩放功能。在MFC应用中,如果涉及到图形显示或打印,可能会用到CDC(Device Context)类来...
你可以通过`CHARFORMAT2`结构来指定颜色和其他格式属性。 此外,`CRichEditCtrl`还支持插入图片、超链接等复杂格式。`StreamIn`和`StreamOut`方法允许读写RTF(Rich Text Format)或纯文本,使得数据可以在不同Rich...
创建`CRichEditCtrl`对象后,可以使用`SetWindowText`函数将文本插入或设置为编辑框的内容。 添加超链接的关键在于使用`EM_SETLINK`消息。此消息允许我们将特定的文本标记为超链接,并指定该链接的URL。以下是一个...