在彩色窗口上的文本

时间:2012-04-18 13:58:24

标签: c++ winapi

我创建了一个子窗口“hwndTab”,并通过下面的代码在其上设置文本。在某些情况下,我需要给子窗口“hwndTab”一种颜色。如果我使用带有实心颜色的FillRect,则文本被覆盖且无法看到。我也不想使用system.dll和system.drawing.dll来制作透明的背景色。在这种情况下,有没有办法为这个子窗口“hwndTab”着色,但文本仍然可以看到?

win->hwndTab = CreateWindow(WC_STATIC, _T(""), WS_VISIBLE | WS_CHILD,
 0, 5, 62, 16, win->hwndReBarForTab, (HMENU)IDC_TOC_TITLE, ghinst, NULL);

SetWindowFont(win->hwndTab, gDefaultGuiFont, FALSE);

win::SetText(win->hwndTab, _T("Book"));

1 个答案:

答案 0 :(得分:1)

在具有solidbrush颜色的FillRect之后,执行:: DrawText(...)或:: ExtTextOut(...)。不要使用SetText(...)。