MFC应用实例:[41]Rich Edit使用

 时间:2026-02-14 08:20:00

1、新建一个基于对话框的应用程序,工程名为BaseRichEdit。

MFC应用实例:[41]Rich Edit使用

2、如下图为对话框添加一个Rich Edit控件和一个按钮,三个复选框,三个单选按钮。

MFC应用实例:[41]Rich Edit使用

3、双击“设置字体颜色”按钮添加响应函数OnTextColor(),修改其响应函数OnTextColor()如下:

void CBaseRichEditDlg::OnTextColor() 

{

// TODO: Add your control notification handler code here

CHARFORMAT cf;

memset (&cf, '\0', sizeof (CHARFORMAT));

cf.dwMask = CFM_COLOR;

m_RichSample.GetSelectionCharFormat (cf);

CColorDialog cc (cf.crTextColor);

// cc.m_cc.lpCustColors = m_clrCustom;

if (cc.DoModal () == IDCANCEL)

return;

cf.dwMask = CFM_COLOR;

cf.dwEffects &= ~CFE_AUTOCOLOR;

cf.crTextColor  = cc.GetColor ();

m_RichSample.SetSelectionCharFormat (cf);

m_RichSample.SetFocus ();

}

MFC应用实例:[41]Rich Edit使用

4、为三个复选按钮分别添加响应函数,添加函数如下:

void CBaseRichEditDlg::OnBold() //设置粗体复选框

{

// TODO: Add your control notification handler code here

CHARFORMAT cf;//结构体

m_RichSample.GetSelectionCharFormat (cf);

cf.dwMask |= CFM_BOLD;

cf.dwEffects ^= CFE_BOLD;

m_RichSample.SetSelectionCharFormat (cf);

if (cf.dwEffects & CFE_BOLD)//当前为粗体

m_ctlBold.SetCheck (1);//设置按钮被选中

else//当前不为粗体

m_ctlBold.SetCheck (0);//设置按钮未被选中

m_RichSample.SetFocus ();

}

void CBaseRichEditDlg::OnItalic() //设置斜体复选框

{

// TODO: Add your control notification handler code here

CHARFORMAT cf;

m_RichSample.GetSelectionCharFormat (cf);

cf.dwMask |= CFM_ITALIC;

cf.dwEffects ^= CFE_ITALIC;

m_RichSample.SetSelectionCharFormat (cf);

if (cf.dwEffects & CFM_ITALIC)//当前为斜体

m_ctlItalic.SetCheck (1);//设置按钮被选中

else//当前不为斜体

m_ctlItalic.SetCheck (0);//设置按钮未被选中

m_RichSample.SetFocus ();

}

void CBaseRichEditDlg::OnUnderline() //设置下划线复选框

{

// TODO: Add your control notification handler code here

CHARFORMAT cf;

m_RichSample.GetSelectionCharFormat (cf);

cf.dwMask |= CFM_UNDERLINE;

cf.dwEffects ^= CFE_UNDERLINE;

m_RichSample.SetSelectionCharFormat (cf);

if (cf.dwEffects & CFM_UNDERLINE)//当前带有下划线

m_ctlUnderline.SetCheck (1);//设置按钮被选中

else//当前不带有下划线

m_ctlUnderline.SetCheck (0);//设置按钮未被选中

m_RichSample.SetFocus ();

}

MFC应用实例:[41]Rich Edit使用

MFC应用实例:[41]Rich Edit使用

5、为三个单选按钮分别添加响应函数,添加函数如下:

void CBaseRichEditDlg::OnLett() 

{

// TODO: Add your control notification handler code here

PARAFORMAT pf;

m_RichSample.GetParaFormat(pf);

pf.dwMask = PFM_ALIGNMENT;

pf.wAlignment = PFA_LEFT;

m_RichSample.SetParaFormat(pf);

m_RichSample.SetFocus ();

}

void CBaseRichEditDlg::OnRight() 

{

// TODO: Add your control notification handler code here

PARAFORMAT pf;

m_RichSample.GetParaFormat(pf);

pf.dwMask = PFM_ALIGNMENT;

pf.wAlignment = PFA_RIGHT;

m_RichSample.SetParaFormat(pf);

m_RichSample.SetFocus ();

}

void CBaseRichEditDlg::OnCenter() 

{

// TODO: Add your control notification handler code here

PARAFORMAT pf;

m_RichSample.GetParaFormat(pf);

pf.dwMask = PFM_ALIGNMENT;

pf.wAlignment = PFA_CENTER;

m_RichSample.SetParaFormat(pf);

m_RichSample.SetFocus ();

}

MFC应用实例:[41]Rich Edit使用

6、程序运行如下

MFC应用实例:[41]Rich Edit使用

  • 怎样在Windows与Centos下的Linux间共享文件
  • win10任务栏中怎样显示地址输入框工具,怎样使用
  • Win10系统如何设置系统时间和日期
  • Java 判断表是否已存在
  • Win10怎么启用自带虚拟机安装Win7等系统
  • 热门搜索
    仙桃旅游 南麂岛旅游 秦皇岛旅游一卡通 外出旅游必备 云南省旅游景点 大理旅游地图 肇庆旅游景点大全 成都的旅游团 旅游酒店预订 杭州到乌镇旅游