关于CRichEditCtrl中文字颜色的控制
2007-01-22 00:45
357 查看
我们在开发一个软件时经产需要输出一些文字或者告警,微软的MFC类库中为我们提供了功能强大的CEdit,可以让开发人员们简单的实现这一功能,但有时觉得CEdit的功能好像并不那么强大,比如我们想对输出的文字中的某一部分单独控制,改变其字体或颜色。于是CRichEditCtrl就显现出了他功能强大的一面。
那我们该如何使用CRichEditCtrl来实现我们的目的呢?
首先我们需要定义一个CRichEditCtrl的对象/或者从CRichEditView派生一个类,用来完成这一功能,用它的成员函数Creat创建一个RichEdit实体,具体请查看MSDN,下面举一个小的例子:
CRichEditCtrl m_rich;
m_rich.Create(ES_AUTOVSCROLL | ES_MULTILINE | ES_WANTRETURN |
WS_CHILD | WS_VISIBLE | WS_VSCROLL, rect, this, 1);
CHARFORMAT cf;
cf.dwEffects = 0
cf.crTextColor = RGB(255, 0, 0);
m_rich.SetDefaultCharFormat(cf);
用下面的代码实现我们的功能
CHARFORMAT m_cfDefault;//自定义字符格式
memset(&m_cfDefault, 0, sizeof(m_cfDefault));
m_cfDefault.cbSize = sizeof(CHARFORMAT);
m_cfDefault.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE | CFM_ITALIC | CFM_SIZE | CFM_STRIKEOUT | CFM_UNDERLINE;
m_cfDefault.crTextColor = RGB(0, 0, 0);//颜色
_tcscpy(m_cfDefault.szFaceName, _T("宋体"));//字体
m_cfDefault.bPitchAndFamily = FF_SWISS;
m_cfDefault.yHeight = 200;
CRichEditCtrl* pmyRichEditCtrl;
long nStart = 0;
long nEnd = pmyRichEditCtrl->GetTextLength();
m_pmyRichEditCtrl->SetSel(nStart, nEnd);
pmyRichEditCtrl->SetSelectionCharFormat(m_cfDefault);
在使用CRichEditCtrl/CRichEditView时请注意,首先要在应用程序类中的InitInstance方法中用AfxInitRich初始化RichEdit,或许你还不能通过编译,请在包含头文件afxrich.h。
那我们该如何使用CRichEditCtrl来实现我们的目的呢?
首先我们需要定义一个CRichEditCtrl的对象/或者从CRichEditView派生一个类,用来完成这一功能,用它的成员函数Creat创建一个RichEdit实体,具体请查看MSDN,下面举一个小的例子:
CRichEditCtrl m_rich;
m_rich.Create(ES_AUTOVSCROLL | ES_MULTILINE | ES_WANTRETURN |
WS_CHILD | WS_VISIBLE | WS_VSCROLL, rect, this, 1);
CHARFORMAT cf;
cf.dwEffects = 0
cf.crTextColor = RGB(255, 0, 0);
m_rich.SetDefaultCharFormat(cf);
用下面的代码实现我们的功能
CHARFORMAT m_cfDefault;//自定义字符格式
memset(&m_cfDefault, 0, sizeof(m_cfDefault));
m_cfDefault.cbSize = sizeof(CHARFORMAT);
m_cfDefault.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE | CFM_ITALIC | CFM_SIZE | CFM_STRIKEOUT | CFM_UNDERLINE;
m_cfDefault.crTextColor = RGB(0, 0, 0);//颜色
_tcscpy(m_cfDefault.szFaceName, _T("宋体"));//字体
m_cfDefault.bPitchAndFamily = FF_SWISS;
m_cfDefault.yHeight = 200;
CRichEditCtrl* pmyRichEditCtrl;
long nStart = 0;
long nEnd = pmyRichEditCtrl->GetTextLength();
m_pmyRichEditCtrl->SetSel(nStart, nEnd);
pmyRichEditCtrl->SetSelectionCharFormat(m_cfDefault);
在使用CRichEditCtrl/CRichEditView时请注意,首先要在应用程序类中的InitInstance方法中用AfxInitRich初始化RichEdit,或许你还不能通过编译,请在包含头文件afxrich.h。
相关文章推荐
- 关于ALV颜色的控制
- 关于ALV颜色的控制
- Shell脚本关于屏幕输出的字符进行颜色控制的问题
- 关于CSS列表list-style-type的颜色和大小控制
- 关于dev的Gridview控件的行数据的颜色控制,根据不同的值设置不同颜色
- 关于dev的Gridview控件的行数据的颜色控制,根据不同的值设置不同颜色
- 命令行或者Console程序中文字颜色控制
- 关于c++颜色的控制
- 关于css控制中文的一些技巧
- 关于Qt中文显示问题
- 2016/10/16 关于解决matlab编辑器中文乱码的问题
- 关于颜色模型的考虑
- Unity的Shader如何控制投影颜色
- Matplotlib 中文用户指南 5.1 指定颜色
- 颜色控制的使用
- 关于1.8寸SPI接口TFT液晶屏的控制
- Java关于中文乱码问题的解决方案与经验
- 关于win终端下python输出中文乱码问题
- JS 控制中文日期
- 关于Servlet中前后台交互中文乱码问题的解决