`
Stephanie_1
  • 浏览: 11553 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

CRichEditCtrl使用CHARFORMAT结构设置字体

 
阅读更多
编辑框为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 设置字体颜色

    总的来说,"vc richedit 设置字体颜色"是一个关于Windows GUI编程的话题,涉及到Visual C++的MFC库和Rich Edit控件的使用,特别是如何通过CHARFORMAT2结构和EM_SETCHARFORMAT消息来改变文本的格式。通过熟练掌握这些...

    RichEditTest.rar

    通过`CRichEditCtrl`,我们可以轻松地在应用程序中集成这些高级特性,例如设置文本的字体、大小、颜色,以及插入图片、表格等。 要实现多行显示,首先需要在MFC应用程序的资源编辑器中添加一个`CRichEditCtrl`控件...

    VC richedit 设置超链接

    你可以使用`CHARFORMAT2`结构来定义格式,然后通过`SendMessage`发送该消息。例如,定义超链接的样式: ```cpp CHARFORMAT2 cf; ZeroMemory(&cf, sizeof(cf)); cf.cbSize = sizeof(cf); cf.dwMask = CFM_COLOR ...

    CRichEidt插入jpg,动态GIF图片

    对于字体的设置,同样先用`SetSel`选择文本,再用`SetSelectionCharFormat`,并修改`CHARFORMAT2`结构中的`cfCharFontName`、`yHeight`和`bCharSet`等字段。 以下是一段示例代码,演示了如何插入图片和设置颜色: ...

    MFC_Test.rar

    开发者可能还需要使用EM_SETCHARFORMAT消息和CHARFORMAT结构来更精细地控制文本格式。 接下来,我们要讨论的是页面的等比例缩放功能。在MFC应用中,如果涉及到图形显示或打印,可能会用到CDC(Device Context)类来...

    RichEdit的使用

    你可以通过`CHARFORMAT2`结构来指定颜色和其他格式属性。 此外,`CRichEditCtrl`还支持插入图片、超链接等复杂格式。`StreamIn`和`StreamOut`方法允许读写RTF(Rich Text Format)或纯文本,使得数据可以在不同Rich...

    RichEditCtrl

    创建`CRichEditCtrl`对象后,可以使用`SetWindowText`函数将文本插入或设置为编辑框的内容。 添加超链接的关键在于使用`EM_SETLINK`消息。此消息允许我们将特定的文本标记为超链接,并指定该链接的URL。以下是一个...

Global site tag (gtag.js) - Google Analytics