WIN API在WM_CTLCOLOREDIT中用if(GetWindowLong(hwndEdit, GWL_STYLE) & ES_READONLY)设置只读的编辑框的文本背景颜色没用,用什么代替
时间: 2024-02-19 10:57:48 浏览: 135
设置CEdit的文本框背景色和文字颜色
如果你想在WM_CTLCOLOREDIT消息中设置只读编辑框的文本背景颜色,可以尝试使用以下代码:
```
if(GetWindowLong(hwndEdit, GWL_STYLE) & ES_READONLY) {
SetBkColor(hDC, RGB(240, 240, 240)); // 设置背景颜色
return (INT_PTR)CreateSolidBrush(RGB(240, 240, 240)); // 返回画刷
}
```
其中,hDC是控件的设备上下文句柄,hwndEdit是编辑框的句柄。在只读状态下,设置背景颜色,并返回一个画刷,这样就可以正确地绘制文本背景颜色了。
阅读全文