win32 修改Edit控件文本颜色与背景色
#define WM_CTLCOLORMSGBOX 0x0132
#define WM_CTLCOLOREDIT 0x0133 //编辑控件Edit
#define WM_CTLCOLORLISTBOX 0x0134 //列表控件ListBox
#define WM_CTLCOLORBTN 0x0135 //按钮控件BottonBox
#define WM_CTLCOLORDLG 0x0136
#define WM_CTLCOLORSCROLLBAR 0x0137
#define WM_CTLCOLORSTATIC 0x0138 //静态框控件StaticEdit
//上面是系统定义的各种控件的颜色消息,要修改啥控件就捕获相应的消息
//WM_CTLCOLOREDIT 编辑控件Edit的实现 //自定义文本颜色和背景色 #define TEXTBKCOLOR RGB(224, 255, 255)//文字颜色
#define TEXTCOLOR RGB(0, 0, 255) //背景色 //在消息中捕获到消息; case WM_CTLCOLOREDIT:
OnCtlColorEdit(wParam,lParam);
break; //函数实现部分: INT_PTR MmApp::OnCtlColorEdit(WPARAM wParam, LPARAM lParam)
{
HWND hEdit1, hedit2;
hEdit1 = ::GetDlgItem(m_hWnd, IDC_EDIT1);
hedit2 = ::GetDlgItem(m_hWnd, IDC_EDIT2);
HDC hDc = (HDC)wParam; if (hedit2 == (HWND)lParam||hEdit1==(HWND)lParam)
{
::SetTextColor(hDc, TEXTCOLOR); //RGB(0, 0, 255)
::SetBkMode(hDc, OPAQUE); //TRANSPARENT,OPAQUE //说明:TRANSPARENT是设置背景透明,但是控件多行滚动时有重影, //还没弄明白,所以用的OPAOUE,这也不明白是啥玩意,但能达到目的就OK, ::SetBkColor(hDc, TEXTBKCOLOR);
return (INT_PTR)CreateSolidBrush(TEXTBKCOLOR);//返回背景色的画刷
}
ReleaseDC(hEdit1, hDc);
ReleaseDC(hedit2, hDc); return 0;
}
这就是今天学习修改Edit控件颜色的成果,弄了好久,头都弄大了,我饿了,要去吃饭去了,
修改后的样式;

win32 修改Edit控件文本颜色与背景色的更多相关文章
- 修改static控件背景颜色和文字颜色
当 static 控件或具有 ES_READONLY 风格的 edit 控件被绘制时,会向父窗口发送 WM_CTLCOLORSTATIC 消息.如果我们在窗口过程中处理该消息,就必须返回一个画刷句柄, ...
- ListView的item里面控件文本颜色修改
@SuppressLint("InflateParams") @Override public View getChildView(int groupPosition, int c ...
- 增加duilib edit控件的提示功能和多种文字颜色
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41786407 duilib的CEditUI控件内部使用了win32的原生 ...
- MFC 修改各种控件的背景颜色、字颜色和字体
今天主要总结一下有关MFC 中静态编辑框(StaticEdit).编辑框(Edit)和按钮(Button)的背景颜色.字颜色和字体. 我的程序运行结果如下: 由上图我们知道修改的地方有:1.把Stat ...
- win32: 文本编辑框(Edit)控件响应事件
过去几年,关于文本编辑框(Edit)控件的响应事件,我都是在主程序 while(GetMessage(&messages, NULL, 0, 0)) { ... } 捕获. 总感觉这种方式让人 ...
- 修改Delphi 10.1.2 edit控件在android的复制、剪切和粘贴样式
Delphi 10.1.2 edit控件在android默认的复制.剪切和粘贴样式太丑,经悟能-DelphiTeacher的提示,用最简单的代码修改后稍有改观. 默认的样式: 修改后的样式: 修改FM ...
- VC OnCtlColor函数来修改控件背景颜色
CWnd::OnCtlColor afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor ); 返回值:OnCtlColor必须 ...
- Windows消息对Edit控件的处理
例如对windows发消息让文本选中. SendMessage(Text1.hwnd,EM_GETSEL,0,-1 ); EC_LEFTMARGIN(&H1) EC_USEFONTINF // ...
- vc 在edit控件中动态插入数据滚动显示
内存从网上论坛摘抄整理 思路:给控件设置多行属性,设置垂直滚动条,Auto Vscroll设置为true,放入文本后把插入点设置到末尾 pEdit->LineScroll(pEdit->G ...
随机推荐
- 关于CAS中的ABA问题存在的隐患
一开始觉得ABA问题确实是个问题,但是具体场景是什么呢,虽然过程改了,但是结果一样,取的值也一样 不明所以,不过呢,这里也有一个小的demo可以说明一下 该例子通过AtomicReference判断对 ...
- Springboot接入RabbitMQ详细教程
本文适用于对 RabbitMQ 有所了解的人,在此不讨论MQ的原理,只讨论如何接入.其实Spring Boot 集成 RabbitMQ 非常简单,本文章使用的是Spring Boot 提供了sprin ...
- (四)、vim的缓冲区、标签、窗口操作
1.缓冲区的基本操作 a.文件与缓冲区的区别 vim file1 打开一个文件时,其实是从磁盘中读取文件到内存中,文件的内容会被加载到缓冲区中, 这个缓冲区在一个窗口上显示,所以他是一个已激活的缓 ...
- 关于GDPR,你需要了解的的5件事
GDPR要求组织确保对用户数据进行良好的保护,而不是滥用,使用户获得知情同意,并且违规行为将受到巨额罚款. 欧盟通用数据保护条例(GDPR)于2018年5月25日开始执行.然而直到如今,还是有不少人对 ...
- [leetcode]55.JumpGame动态规划题目:跳数游戏
/** * Given an array of non-negative integers, you are initially positioned at the first index of th ...
- [leetcode]66Plus One
/** * Given a non-negative integer represented as a non-empty array of digits, plus one to the integ ...
- rocketmq部署架构
1 技术架构 RocketMQ架构上主要分为四部分,如上图所示: Producer:消息发布的角色,支持分布式集群方式部署.Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息 ...
- hashmap简单实现
p.p1 { margin: 0; font: 11px Monaco } p.p2 { margin: 0; font: 11px Monaco; min-height: 15px } p.p3 { ...
- ADO.NET对SqlServer进行简单的增删改查
对数据库进行增删改查,首先想到的应该就是连接字符串了. 我们的连接字符串是由"Server=地址(本机=local);Database=数据库名称;User Id=登陆用户名;Passwor ...
- String StringBuffer StringBuilder之间的区别
String: