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. nodejs开发aspnet5项目

    结合nodejs开发aspnet5项目 1.安装kvm   官方教程地址:https://github.com/ligershark/Kulture 打开 powershell命令窗口,找不到可以在开 ...

  2. 第4章1节《MonkeyRunner源码剖析》ADB协议及服务: ADB协议概览OVERVIEW.TXT翻译参考(原创)

    天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文“寻求合作伙伴编写<深入理解 MonkeyRunner>书籍“.但因为诸多原因,没有如愿.所以这里把草稿分享出来,所以错误在 ...

  3. MonkenRunner通过HierarchyViewer定位控件的方法和建议(Appium/UIAutomator/Robotium姊妹篇)

    1. 背景 在使用MonkeyRunner的时候我们经常会用到Chimchat下面的HierarchyViewer模块来获取目标控件的一些信息来辅助我们测试,但在MonkeyRunner的官网上是没有 ...

  4. php操作xml并插入到数据库中

    php操作xml并插入到数据库中 <? php header('content-type:text/html;charset=utf-8'); mysql_connect('localhost' ...

  5. sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同

    原文:sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同 说明: 以前要将一个表中的数据导出为脚本,只有用存储过程.现在在SQL Server ...

  6. 快速构建Windows 8风格应用30-应用生命周期管理

    原文:快速构建Windows 8风格应用30-应用生命周期管理 引言 Windows 8 中可以启动多个应用并在其中切换,我们没有必要担心降低系统速度或消耗电池电量. 因为系统会自动挂起(有时会终止) ...

  7. 快速构建Windows 8风格应用26-本地应用数据

    原文:快速构建Windows 8风格应用26-本地应用数据 本篇博文主要介绍如何获取应用的设置和文件容器.如何将数据写入设置.如何从设置中获取数据.如何删除设置中数据.如何将数据写入文件.如何从文件中 ...

  8. Just a complaint about the college examinations

    Well , you know. As a college student who want to find a good job after graduating  like me , scores ...

  9. Best jQuery Plugins of the Month – May 2014

    1. jQuery referenceSection jQuery referenceSection by Scott Mascio ensures to help users in adding a ...

  10. MFC圆角背景移动边角底色毛刺解决方案

    CRect rc; Graphics graphics(pDC->m_hDC); GetClientRect(&rc); CRgn m_rgn; if (m_pBgImage) { gr ...