CHARFORMAT cf; 
//判断是否选择了内容 
BOOL m_bSelect = (m_reinput.GetSelectionType() != SEL_EMPTY) ? TRUE : FALSE; 
CFontDialog dlg;
if (dlg.DoModal() == IDOK) 

dlg.GetCharFormat(cf);//获得所选字体的属性 
if (m_bSelect) 

m_reinput.SetSelectionCharFormat(cf); //为选定的内容设定所选字体 

else 
m_reinput.SetWordCharFormat(cf); //为将要输入的内容设定字体 
} 在MFC中建立基于对话框的程序,在上面加了rich edit和BUTTON这两个控件:
1)用BUTTON的点击消息产生系统字体对话框
   代码:
       CFontDialog dlg;
       dlg.DoModal;
2)在1)中出现的对话框选择相应的属性,用这些字体属性来初始化rich edit中
  的字体属性。问题是:我用上面的代码确实可以实现2)中的功能,但是上面的代码中,在哪初始
        化cf的,以及2)的作用怎么在上面的程序中体现出来的?

解决方案 »

  1.   

    dlg.GetCharFormat(cf);//这里填充问题2?什么意思?
      

  2.   

    用上面信息填充cf呢?
    2)表示“2)在1)中出现的对话框选择相应的属性,
    用这些字体属性来初始化rich edit中 的字体属性。 ”
      

  3.   

     dlg.GetCharFormat(cf);//就是将dlg设置的属性 填充到 你定义的cf结构体里面呀 m_reinput.SetSelectionCharFormat(cf); //为选定的内容设定所选字体 
     m_reinput.SetWordCharFormat(cf); //为将要输入的内容设定字体 这里将已经得到的字体结构体设置到m_reinput 控件里面