1、设置RichEdit客户区的背景颜色

要设置RichEdit的背景色,需要发送 EM_SETBKGNDCOLOR 消息给RichEdit控件,关于该消息的说明:wParam参数 为颜色选项,如果是0,说明使用 lParam参数 中的颜色值作为背景色;如果该参数不为0,则使用系统背景色。因为我们要发送该消息来改变背景色,所以我们必须将wParam设置为0,将lParam设置为指定的颜色,即

  1. ::SendMessage( m_richEditCtrl.GetSafeHandle(), 0, (LPARAM)RGB(0,128,192) );

2、设置RichEdit指定区域的文字颜色及字体

将使用到CHARFORMAT结构体中的yHeight、szFaceName、crTextColor等字段,相关代码如下所示:

  1. void CRichEditCtrlEx::SetTextFontColor( const LOGFONT& font,COLORREF color )
  2. {
  3. CHARFORMAT cf;
  4. memset( &cf, 0, sizeof(CHARFORMAT) );
  5. GetDefaultCharFormat(cf);
  6. // 设置相关字体属性
  7. if(font.lfWeight == FW_BOLD)
  8. {
  9. cf.dwEffects |= CFE_BOLD;
  10. }
  11. else
  12. {
  13. cf.dwEffects &= ~(CFE_BOLD);
  14. }
  15. if(font.lfItalic)
  16. {
  17. cf.dwEffects |= CFE_ITALIC;
  18. }
  19. else
  20. {
  21. cf.dwEffects &= ~(CFE_ITALIC);
  22. }
  23. if(font.lfUnderline)
  24. {
  25. cf.dwEffects |= CFE_UNDERLINE;
  26. }
  27. else
  28. {
  29. cf.dwEffects &= ~(CFE_UNDERLINE);
  30. }
  31. if(font.lfStrikeOut)
  32. {
  33. cf.dwEffects |= CFE_STRIKEOUT;
  34. }
  35. else
  36. {
  37. cf.dwEffects &= ~(CFE_STRIKEOUT);
  38. }
  39. cf.yHeight = 20*font.lfHeight;
  40. cf.bPitchAndFamily = font.lfPitchAndFamily;
  41. strcpy(cf.szFaceName,font.lfFaceName);
  42. cf.dwEffects ^= CFE_AUTOCOLOR;
  43. cf.crTextColor = color;
  44. // 为将要输入的内容设定字体
  45. SetWordCharFormat(cf);
  46. }

3、改变RichEdit指定区域的文字背景颜色

这需要使用到CHARFORMAT2结构体,主要使用到结构体中的crBackColor字段。

  1. CHARFORMAT2 cf;
  2. memset( &cf, sizeof(CHARFORMAT2) );
  3. cf.cbSize = sizeof(CHARFORMAT2);
  4. cf.dwMask = CFM_BACKCOLOR;      // 使crBackColor字段有效
  5. cf.crBackColor = RGB(0, 255, 0);       // 背景颜色为绿色
  6. m_richEditCtrl.SetSel( lStart, lEnd ); // 选中区域文字
  7. m_richEditCtrl.SendMessage( EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf );

设置RichEdit相关颜色说明的更多相关文章

  1. 设置placeholder字体颜色

    /*设置placeholder字体颜色*/::-webkit-input-placeholder{ color: #FFF;}:-ms-input-placeholder{ color: #FFF;} ...

  2. Android中设置TextView的颜色setTextColor

    tv.setTextColor(Color.parseColor("#FFFFFF")); tv.setTextColor(Color.WHITE); tv.setTextColo ...

  3. C# 的Brush 及相关颜色的操作 (并不是全转)

    C# 的Brush 及相关颜色的操作 2013-12-13 14:08             4977人阅读             评论(0)             收藏             ...

  4. JavaGUI——设置框架背景颜色和按钮颜色

    import java.awt.Color; import javax.swing.*; public class MyDraw { public static void main(String[] ...

  5. UITabBar 设置字体的颜色(选中状态/正常状态)setTitleTextAttributes

    UITabbar有个setTintColor这个方法,可以理解为,高亮的时候,或者点击后的颜色设置. UITabBarItem有个setTitleTextAttributes的方法,是用来设置字体的颜 ...

  6. vc设置按钮文字颜色

    设置按钮文字颜色使用 CMFCBUTTON即可 在OnInitDialog函数加入如下内容即可 ((CMFCButton*)GetDlgItem(IDC_MFCBUTTON1))->SetTex ...

  7. 【转】Android中设置TextView的颜色setTextColor--代码中设置字体颜色

    原文网址:http://www.cnblogs.com/myphoebe/archive/2012/01/06/2314728.html android中设置TextView的颜色有方法setText ...

  8. Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())

    在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等. 但是各种方法都有其注意事项,如果不注意则很容易 ...

  9. div 背景色设置_DIV背景颜色设置

    DIV 背景色设置篇-div背景颜色设置篇 一.div标签内直接设置背景颜色   -   TOP <div style="background:#000; color:#FFF&quo ...

随机推荐

  1. JS获取渲染后的样式

    一般我们利用element.style.属性来获取CSS的样式,而此方法只能获取标签内的样式,无法获取头部或引入的样式,因此,而我们又需要获取其样式,则我们可以使用:(其中element为标签,pro ...

  2. 关于Office 中的墨迹功能(可作word电子签名)

    原文 关于Office 中的墨迹功能 通过使用 Microsoft Office 2003 中的墨迹功能,可使用 Tablet PC 和 Tablet 笔将手写笔记插入到 Microsoft Offi ...

  3. ubuntu安装nVidia驱动,遇到终端闪砾问题并解决

    安装nvidia的官方驱动之后,比起nouvean来说感觉速度快了不少. 安装该驱动很简单,但选择哪个驱动是要注意的.因为今天我试了nvidia的多个驱动后都在ubuntu下用起来并不好. 我现在的环 ...

  4. lucene简介 创建索引和搜索初步

    lucene简介 创建索引和搜索初步 一.什么是Lucene? Lucene最初是由Doug Cutting开发的,2000年3月,发布第一个版本,是一个全文检索引擎的架构,提供了完整的查询引擎和索引 ...

  5. 18. Scrum敏捷软件开发

      1)柯维定律 2)如何组件敏捷团队? 团队5~9个人,Mike带过最多的是14个人.个人建议,别超过10个.否则沟通的成本直线上升.(团队的午餐,两个匹萨就够了). 引入特性团队(针对于传统的组件 ...

  6. Angularjs 与Ckeditor

    Angularjs 与Ckeditor Angularjs 诞生于Google是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVC.模块 ...

  7. java中的输入流(Scanner),数据类型,运算符,switch,数组的用法

    //java中创建包用package相当于C#的命名空间namespace,java中导入包用import相当于C#中引入命名空间usingimport java.util.*;//导入包,*代表导入 ...

  8. 2014.3.11-C语言学习小结

    文件操作: 知识点: 持久化 1.文本文件的读写 2.二进制文件的读写 3.缓冲文件系统 1.打开文件 2.读写文件 3.保存 4.关闭文件 ============================= ...

  9. 2014.3.5-C语言学习小结

    知识点: 1.结构体 struct 2.联合体 union 3.枚举 4.结构.联合与函数 =========================== 结构体 思考:如果现在希望保存一个学生的信息,该如何 ...

  10. MS SQL优化

    数据库优化实践[MS SQL优化开篇]   数据库定义: 数据库是依照某种数据模型组织起来并存在二级存储器中的数据集合,此集合具有尽可能不重复,以最优方式为特定组织提供多种应用服务,其数据结构独立于应 ...