匯東網


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 属性)

[ 10] [ 12]


 評論區  0 條評論

+ 添加評論