Win32 Richedit边框颜色怎么设置
时间: 2024-01-22 22:21:31 浏览: 27
你可以使用 `EM_SETBKGNDCOLOR` 消息设置 Richedit 控件的背景颜色,然后使用 `WM_NCPAINT` 消息处理非客户区绘制,以改变边框颜色。以下是一个简单的示例代码:
```c++
// 设置 Richedit 控件的背景颜色为白色
SendMessage(hwndRichedit, EM_SETBKGNDCOLOR, 0, RGB(255, 255, 255));
// 处理 WM_NCPAINT 消息,绘制边框
case WM_NCPAINT:
{
HDC hdc = GetDC(hwnd);
RECT rect;
GetWindowRect(hwnd, &rect);
OffsetRect(&rect, -rect.left, -rect.top);
// 绘制边框
HPEN hPen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0)); // 红色边框
HPEN hOldPen = (HPEN)SelectObject(hdc, hPen);
HBRUSH hOldBrush = (HBRUSH)SelectObject(hdc, GetStockObject(NULL_BRUSH));
Rectangle(hdc, rect.left, rect.top, rect.right, rect.bottom);
SelectObject(hdc, hOldBrush);
SelectObject(hdc, hOldPen);
DeleteObject(hPen);
ReleaseDC(hwnd, hdc);
return 0;
}
```