设置RichEdit控件中的字体
第1步: 定义CHARFORMAT 变量
CHARFORMAT charFormat;
第2步:获取CRichEditCtrl控件中的默认字体格式
CHARFORMAT charFormat;
m_richEdit.GetDefaultCharFormat(charFormat);
第3步: 用控件默认字体初始化字体对话框
CFontDialog fontDlg(charFormat);
第4步: 使用字体对话框设置控件中的字体
if (fontDlg.DoModal()==IDOK)
{
fontDlg.GetCharFormat(charFormat);
m_richEdit.SetSelectionCharFormat(charFormat);
//m_richEdit.SetDefaultCharFormat(charFormat);
}
全部代码如下:
CHARFORMAT charFormat;
m_richEdit.GetDefaultCharFormat(charFormat);
CFontDialog fontDlg(charFormat);
if (fontDlg.DoModal()==IDOK)
{
fontDlg.GetCharFormat(charFormat);
m_richEdit.SetSelectionCharFormat(charFormat);
//m_richEdit.SetDefaultCharFormat(charFormat);
}
注:
不要定义为CFONT 类型
因为 m_RichEdit.GetFont() 得不到控件中字体的信息, 可能是因为GetFont() 是继承父类
而 m_RichEdit.GetCharFormat() 可以得到控件中字体信息,因为GetCharFormat()函数为RichEdit控件类本身定义的函数,不是继承父类方法
参考资料: