HDC DrawText 设置字体颜色
时间: 2024-01-07 10:02:46 浏览: 36
要在 HDC 上使用 DrawText 函数设置字体颜色,需要先在 HDC 上创建一个与所需字体相关的 GDI 对象,然后将其选入到 HDC 中。可以使用 CreateFont 函数创建一个字体对象,再使用 SelectObject 函数将其选入到 HDC 中。最后使用 SetTextColor 函数设置字体颜色,再调用 DrawText 函数即可。
以下是一个示例代码:
```
HDC hdc = GetDC(hwnd);
// 创建字体对象
HFONT hFont = CreateFont(20, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE,
ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH | FF_SWISS, L"Arial");
// 将字体对象选入 HDC
HFONT hOldFont = (HFONT)SelectObject(hdc, hFont);
// 设置字体颜色
SetTextColor(hdc, RGB(255, 0, 0));
// 绘制文本
RECT rc = { 10, 10, 100, 100 };
DrawText(hdc, L"Hello World", -1, &rc, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
// 恢复原来的字体对象
SelectObject(hdc, hOldFont);
// 释放字体对象
DeleteObject(hFont);
ReleaseDC(hwnd, hdc);
```