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. WebService使用JSON格式传递笔记+JQuery测试

    原文WebService使用JSON格式传递笔记+JQuery测试 因为一些因素,必须改写WebService,很传统,但是很多公司还在用.. 因为XML 的关系,不想让他传递数据的时候过度肥大,所以 ...

  2. jQuery实现表格行的动态增加与删除

    删除之前删除2行后: 1<script> 8 $(document).ready(function(){ 9 //<tr/>居中 10 $("#tab tr" ...

  3. curl_redir_exec()函数

    function curl_redir_exec($ch,$debug="") { static $curl_loops = 0; static $curl_max_loops = ...

  4. 部分PC端安卓管理器使用强行断开重连的方法来连接手机,容易丢书数据,损坏数据

    最近发现部分PC端的安卓管理器,貌似是百度影音以及PPTV的安卓客户端,使用强行断开手机连接,然后重新连接手机的方法,来实现客户端程序连接手机. 此时,如果刚好正在复制文件,则复制的文件会损坏,并且基 ...

  5. SQL点滴4—筛选数据列的类型,字段大小,是否可为空,是否是主键,约束等等信息

    原文:SQL点滴4-筛选数据列的类型,字段大小,是否可为空,是否是主键,约束等等信息 项目需要将Access数据库中的数据导入到SQL Server中,需要检验导入后的数据完整性,数据值是否正确.我们 ...

  6. APUE学习笔记(1):APUE运行环境

    APUE全称<Advanced Programming in the UNIX Environment>(UNIX环境高级编程) 书中例子大都使用作者自己写的头文件,所以需要解决一下,还好 ...

  7. UC编程:输入输出重定向(标准IO)

    [c] #include <stdio.h> #include <stdlib.h> int main() { FILE *fp; char szBuf[100]; /* 将屏 ...

  8. 使用 Visual C# .NET 生成 Office COM 外接程序

    Microsoft Office XP 和 Microsoft Office 2003 都支持一种新的统一的设计结构,这种结构用于生成应用程序外接程序以增强和控制 Office 应用程序.这些外接程序 ...

  9. 使用JSmooth制造java jar文件可以运行exe文件教程图像

    这是我之前在个人博客3yj上面写的一篇文章,如今转载过来,原文地址 (这不是广告哦) 几年前,刚接触java的是.就想用一些方法把自己的劳动果实保护起来,曾经也用过非常多这种工具.有一个特别好用,今天 ...

  10. 使用JQUERY操作Radio

    发展中经常使用Radio为了实现用户的选择的影响.我在该项目中使用的一些JQUERY操作Radio该方法.这里分享,对于有需要的朋友参考的. 1.变化radio选择.引发一些结果 $("in ...