创建 win32 控件后,可以设置它们背景是否透明,以及文本的颜色。
MSDN: https://learn.microsoft.com/zh-cn/windows/win32/controls/wm-ctlcoloredit
case WM_CTLCOLORSTATIC:
{
HDC hdc = (HDC)wParam;
// 此处设置的是文字绘制的属性
SetBkMode(hdc, TRANSPARENT);
SetTextColor(hdc, RGB(255, 0, 0));
SetBkColor(hdc, RGB(0, 100, 255));
// 返回的刷子设置的是控件窗体的背景
// 如果这里不自己返回的话,上面的设置是无效的
return (LRESULT)GetStockObject(BLACK_BRUSH);
break;
}
目前还未确定的是,启用现代控件样式后是否还可以生效(可能子控件要有 WS_EX_TRANSPARENT 属性)