win32 修改Edit控件文本颜色与背景色
2024-10-06 02:37:47
#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控件颜色的成果,弄了好久,头都弄大了,我饿了,要去吃饭去了,
修改后的样式;
最新文章
- Linux0.11内核--fork进程分析
- PHP正则表达式详解(一)
- jQuery-H5-css3转盘抽奖-遁地龙卷风
- javascript 对象初探(二)--- 返回对象的函数
- maven学习讲解
- asp.net web api 测试帮助页面建立并测试
- Asp.Net MVC Filter 实现方式和作用范围控制
- [Linux] 查看系统启动时间
- 利用Bundle在activity之间传递对象
- sql 存储过程参数是表类型,数据库中如何调用
- HTML5 - 使用<;video>;播放视频
- hbase很有价值的读写性能提升
- url 编码方法
- js模板引擎实现原理
- 【转】实用 .htaccess 用法大全
- ArrayList源码解读
- Socket层实现系列 — 信号驱动的异步等待
- MYSQL的安全模式:sql_safe_updates介绍
- 上传本地文件到GitHub上
- JavaScript关于sha1加密