SDK编程,编辑框控件(ES_MUTILINE型)上的背景色大部分都能改变,除了第一行是空白以外
时间:2011-12-18
来源:互联网
实现的目标是:把指定ID 的编辑框背景色变为绿色,字体颜色为红色。
编辑框控件(ES_MUTILINE型)上的背景色大部分都能改变,除了第一行是空白以外,其余都是渲染的绿色(我的目标是整个编辑框都变成绿色背景,红色字体。),当我往里面填入数据时,如果填到第二行,原来的绿色背景也变成了白色,字体是始终都是黑色没有变成红色,谁能解释一下,为什么,如何修改实现???
C/C++ code
编辑框控件(ES_MUTILINE型)上的背景色大部分都能改变,除了第一行是空白以外,其余都是渲染的绿色(我的目标是整个编辑框都变成绿色背景,红色字体。),当我往里面填入数据时,如果填到第二行,原来的绿色背景也变成了白色,字体是始终都是黑色没有变成红色,谁能解释一下,为什么,如何修改实现???
C/C++ code
case WM_CTLCOLOREDIT: { int nID; hdc1=GetDC(hWnd); HWND HC=GetWindow(hWnd,GW_CHILD); nID=GetDlgCtrlID(HC); while(HC) { HC=GetWindow(HC,GW_HWNDNEXT); nID=GetDlgCtrlID(HC); if (nID==ID_RECORD) { SetTextColor(hdc1,RGB(255,0,0)); SetBkColor(hdc1,RGB(0,255,0)); SetBkMode(hdc1,OPAQUE); brush=CreateSolidBrush(RGB(0,255,0)); SelectObject(hdc1,brush); break; } } ReleaseDC(hWnd,hdc1); } return (LRESULT)brush;
作者: sunyongliang118 发布时间: 2011-12-18
这么多天了,居然没有人回答。压抑。
作者: sunyongliang118 发布时间: 2011-12-28
C/C++ code
case WM_CREATE: { hEdit = CreateWindow(_T("Edit"), _T("Edit"), WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE | ES_WANTRETURN | ES_AUTOHSCROLL | ES_AUTOVSCROLL | WS_VSCROLL | WS_HSCROLL, 10, 10, 200, 100, hWnd, (HMENU)0x11, hInst, NULL); hbr = CreateSolidBrush(RGB(0, 0, 255)); } break; case WM_CTLCOLOREDIT: { if(hEdit == (HWND)lParam) { HDC hDC = (HDC)wParam; SetTextColor(hDC, RGB(255, 0, 0)); SetBkColor(hDC, RGB(0, 0, 255)); return (long)hbr; } } break;
作者: VisualEleven 发布时间: 2011-12-28
引用 2 楼 visualeleven 的回复:
C/C++ code
case WM_CREATE:
{
hEdit = CreateWindow(_T("Edit"), _T("Edit"),
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE | ES_WANTRETURN | ES_AUTOHSCROLL | ES……
C/C++ code
case WM_CREATE:
{
hEdit = CreateWindow(_T("Edit"), _T("Edit"),
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE | ES_WANTRETURN | ES_AUTOHSCROLL | ES……
兄弟,你的代码我用了一下,管用,但是我还想问一下,怎么给指定编辑控件渲染,不是所有的编辑控件
就以你的这个代码为例,如果还有其他不同ID的编辑控件,怎么办?所有的编辑控件已经在WinMain函数中创建了。
C/C++ code
case WM_CREATE: { brush=CreateSolidBrush(RGB(0,255,0)); } break; case WM_CTLCOLOREDIT: { int nID; HWND HC=GetWindow(hWnd,GW_CHILD); nID=GetDlgCtrlID(HC); while(HC) { HC=GetWindow(HC,GW_HWNDNEXT); nID=GetDlgCtrlID(HC); if (nID==ID_RECORD) { hdc1=(HDC)wParam; SetTextColor(hdc1, RGB(255,0,0)); SetBkColor(hdc1, RGB(0,255,0)); return (long)brush; } } } break;
作者: sunyongliang118 发布时间: 2011-12-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28