MFC设置Static控件背景透明

设置Static控件背景透明


  1. 添加虚函数OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
  2. 在函数中添加代码:

    HBRUSH CV3ImportFileDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
        HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
    
        // TODO:  在此更改 DC 的任何特性
        if (nCtlColor == CTLCOLOR_STATIC)
        {
        pDC->SetBkMode(TRANSPARENT);
        return (HBRUSH)::GetStockObject(NULL_BRUSH);
        }
        // TODO:  如果默认的不是所需画笔,则返回另一个画笔
        return hbr;
    }
    
  3. OnCtlColor()函数触发条件:
    • 在类刚开始执行时;
    • 遇见 Invalidate()函数重绘;

你可能感兴趣的:(MFC学习)