设置RichEdit相关颜色说明
1、设置RichEdit客户区的背景颜色
要设置RichEdit的背景色,需要发送 EM_SETBKGNDCOLOR 消息给RichEdit控件,关于该消息的说明:wParam参数 为颜色选项,如果是0,说明使用 lParam参数 中的颜色值作为背景色;如果该参数不为0,则使用系统背景色。因为我们要发送该消息来改变背景色,所以我们必须将wParam设置为0,将lParam设置为指定的颜色,即
- ::SendMessage( m_richEditCtrl.GetSafeHandle(), 0, (LPARAM)RGB(0,128,192) );
2、设置RichEdit指定区域的文字颜色及字体
将使用到CHARFORMAT结构体中的yHeight、szFaceName、crTextColor等字段,相关代码如下所示:
- void CRichEditCtrlEx::SetTextFontColor( const LOGFONT& font,COLORREF color )
- {
- CHARFORMAT cf;
- memset( &cf, 0, sizeof(CHARFORMAT) );
- GetDefaultCharFormat(cf);
- // 设置相关字体属性
- if(font.lfWeight == FW_BOLD)
- {
- cf.dwEffects |= CFE_BOLD;
- }
- else
- {
- cf.dwEffects &= ~(CFE_BOLD);
- }
- if(font.lfItalic)
- {
- cf.dwEffects |= CFE_ITALIC;
- }
- else
- {
- cf.dwEffects &= ~(CFE_ITALIC);
- }
- if(font.lfUnderline)
- {
- cf.dwEffects |= CFE_UNDERLINE;
- }
- else
- {
- cf.dwEffects &= ~(CFE_UNDERLINE);
- }
- if(font.lfStrikeOut)
- {
- cf.dwEffects |= CFE_STRIKEOUT;
- }
- else
- {
- cf.dwEffects &= ~(CFE_STRIKEOUT);
- }
- cf.yHeight = 20*font.lfHeight;
- cf.bPitchAndFamily = font.lfPitchAndFamily;
- strcpy(cf.szFaceName,font.lfFaceName);
- cf.dwEffects ^= CFE_AUTOCOLOR;
- cf.crTextColor = color;
- // 为将要输入的内容设定字体
- SetWordCharFormat(cf);
- }
3、改变RichEdit指定区域的文字背景颜色
这需要使用到CHARFORMAT2结构体,主要使用到结构体中的crBackColor字段。
- CHARFORMAT2 cf;
- memset( &cf, sizeof(CHARFORMAT2) );
- cf.cbSize = sizeof(CHARFORMAT2);
- cf.dwMask = CFM_BACKCOLOR; // 使crBackColor字段有效
- cf.crBackColor = RGB(0, 255, 0); // 背景颜色为绿色
- m_richEditCtrl.SetSel( lStart, lEnd ); // 选中区域文字
- m_richEditCtrl.SendMessage( EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf );
设置RichEdit相关颜色说明的更多相关文章
- 设置placeholder字体颜色
/*设置placeholder字体颜色*/::-webkit-input-placeholder{ color: #FFF;}:-ms-input-placeholder{ color: #FFF;} ...
- Android中设置TextView的颜色setTextColor
tv.setTextColor(Color.parseColor("#FFFFFF")); tv.setTextColor(Color.WHITE); tv.setTextColo ...
- C# 的Brush 及相关颜色的操作 (并不是全转)
C# 的Brush 及相关颜色的操作 2013-12-13 14:08 4977人阅读 评论(0) 收藏 ...
- JavaGUI——设置框架背景颜色和按钮颜色
import java.awt.Color; import javax.swing.*; public class MyDraw { public static void main(String[] ...
- UITabBar 设置字体的颜色(选中状态/正常状态)setTitleTextAttributes
UITabbar有个setTintColor这个方法,可以理解为,高亮的时候,或者点击后的颜色设置. UITabBarItem有个setTitleTextAttributes的方法,是用来设置字体的颜 ...
- vc设置按钮文字颜色
设置按钮文字颜色使用 CMFCBUTTON即可 在OnInitDialog函数加入如下内容即可 ((CMFCButton*)GetDlgItem(IDC_MFCBUTTON1))->SetTex ...
- 【转】Android中设置TextView的颜色setTextColor--代码中设置字体颜色
原文网址:http://www.cnblogs.com/myphoebe/archive/2012/01/06/2314728.html android中设置TextView的颜色有方法setText ...
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等. 但是各种方法都有其注意事项,如果不注意则很容易 ...
- div 背景色设置_DIV背景颜色设置
DIV 背景色设置篇-div背景颜色设置篇 一.div标签内直接设置背景颜色 - TOP <div style="background:#000; color:#FFF&quo ...
随机推荐
- [译]ava 设计模式之职责链
(文章翻译自Java Design Pattern: Chain of Responsibility) 职责链模式的主要设计思想是为了构建一连串的处理单元,如果阈值满足的话那么这个单元就来处理这个请求 ...
- 输入 URL 到页面完成加载过程中的所有发生的事情?
转到浏览器中输入URL给你一个页面后,.有些事情,你每天都在使用,学的是计算机网络知道是怎么回事.DNS解析然后页面的回馈,只是要讲好还是有难度. 之前fex团队的nwind专门写过这个问题的博客: ...
- 安装Windows2008操作系统 - 初学者系列 - 学习者系列文章
Windows2008这款服务器操作系统不知道有多少服务器在使用,毕竟前面有经典的2003系统,后续有2012操作系统.具体就不讨论这些了.下面就对Windows2008服务器操作系统的安装进行介绍. ...
- android中怎么调整字体的间距和行间距
在网页中都是很轻松的就可以调整间距的.在android中,我个人并没有去设置过. 下面就来说说android中的间距问题. 原文:http://blog.csdn.net/fancylovejava/ ...
- QTP使用技巧
1QTP基本功能的使用 QTP的基本功能包括两大部分:一部分是提供给初级用户使用的关键字视图:另一部分是提供给熟悉VBScript脚本编写的自动化测试工程师使用的专家视图.但是,并没有严格的区分,在实 ...
- 20个很有用的CSS技巧
导语:下面这几个CSS技巧你可能不知道,1.彩色照片变黑白,2.所有元素垂直居中,3.禁用鼠标,4.模糊文字,小编学完能量满满的,觉得对CSS又充满了爱,你也来看看. 1. 黑白图像 这段代码会让你的 ...
- C# 导入导出excel文件案例
个人总结导出excel报表的案例: //导出报表 protected void btnExport_Click(object sender, EventArgs e) { List<ProOut ...
- Vijos: P1046观光旅游
背景 湖南师大附中成为百年名校之后,每年要接待大批的游客前来参观.学校认为大力发展旅游业,可以带来一笔可观的收入. 描述 学校里面有N个景点.两个景点之间可能直接有道路相连,用Dist[I,J]表示它 ...
- 应用内支付(IAP)可加入三方支付
Windows Phone 放开政策 - 应用内支付(IAP)可加入三方支付 Windows Phone 应用商店在 今年(2013)11月04号 修改了商店政策 允许公司账户的应用使用三方支付S ...
- .NET中操作IPicture、IPictureDisp
.NET中操作IPicture.IPictureDisp的小随笔 [题外话] 最近在做一个调用某实验仪器的程序,这个仪器提供了Windows上COM的接口.调用仪器的时候需要传输图片,提供的接口里 ...