0

我通过下面的代码创建了一个子窗口“hwndTab”并在其上设置了一个文本。在某些情况下,我需要给子窗口“hwndTab”一种颜色。如果我将 FillRect 与solidbrush 颜色一起使用,则文本会被覆盖并且看不到。我也不想使用 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"));
4

1 回答 1

1

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

于 2012-04-18T14:12:15.380 回答