设置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 ...
随机推荐
- php rsa 加密、解密、签名、验签
由于对接第三方机构使用的是Java版本的rsa加解密方法,所有刚开始在网上搜到很多PHP版本的rsa加解密,但是对接java大多都不适用. 以下php版本是适用于对接java接口,java适用密钥再p ...
- openSUSE13.2安装Nodejs并更新到最新版
软件源中直接安装Nodejs即可 sudo zypper in nodejs 查看nodejs版本 sincerefly@linux-utem:~> node --version v0.10.5 ...
- 使用SoapUI 测试Web Service
原文:使用SoapUI 测试Web Service 如何测试写好的Webservice?你当然可以写代码来测试,但还是太麻烦,你得花时间去学习各语言的关于Webservice调用的相关API.这里推荐 ...
- HDU4565 && 2013年长沙邀请赛A题
部分转自http://blog.csdn.net/crazy______/article/details/9021169 #include<cstdio> using namespace ...
- leetcode第13题--Roman to Integer
Problem: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range ...
- Kinect for Windows V2.0 新功能
系统要求: win8 or win8.1 硬件要求: 64位(x64)处理器 i7 2.5-GHz或更快的处理器 内置USB 3.0总线 4 GB RAM DX11图形适配器 外观: 第二代Kin ...
- 【腾讯开源】Android性能测试工具APT使用指南
[腾讯开源]Android性能测试工具APT使用指南 2014-04-23 09:58 CSDN CODE 作者 CSDN CODE 17 7833 腾讯 apt 安卓 性能测试 开源 我们近日对腾讯 ...
- dbcp的配置
tomcat的 配置,进入conf->context.xml <Resource name="mysql" auth="Container" ...
- MVC之前的那点事儿系列进入CLR
MVC之前的那点事儿系列(1):进入CLR MVC之前的那点事儿系列,是笔者在2012年初阅读MVC3源码的时候整理的,主要讲述的是从HTTP请求道进入MVCHandler之前的内容,包括了原创,翻译 ...
- 如何让Fortran生成不同的随机数
用Fortran生成随机数的方法很简单,就是: call random_seed ()call random_number (rd) 生成随机数组可以这样: do k = 1,10 call rand ...