Win32 控件背景透明、设置控件文本颜色(WM_CTLCOLOREDIT 和 WM_CTLCOLORSTATIC)
[編輯] [转简体] (简体译文)
|
作者:
| 分類:【編程】Win32
[
24 瀏覽
0 評論
10 贊
12 踩
]
概要
正文
创建 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 属性)