MFC—— static文本 透明

    xiaoxiao2021-03-25  136

             在给控件添加背景以后,为了让整个图片显得更加美观,需要我们将static文本的背景设置为透明,下面是设置透明的方法:

    /*设置控件背景透明*/ HBRUSH CTOOLDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {  HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);    if(nCtlColor == CTLCOLOR_STATIC )   {    pDC->SetBkMode(TRANSPARENT);//设置背景透明    pDC->SetTextColor(RGB(255,255,0));//设置字体为黄色    return (HBRUSH)::GetStockObject(NULL_BRUSH);   }

     // TODO:  如果默认的不是所需画笔,则返回另一个画笔  return hbr;

    }

    附上自己实例代码:

    HBRUSH CwanshangDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here if (pWnd->GetDlgCtrlID() == IDC_STATIC) { pDC->SetBkMode(TRANSPARENT); //设置背景为透明 hbr = HBRUSH(GetStockObject(HOLLOW_BRUSH)); return hbr;; } // TODO: 在此更改 DC 的任何特性 // TODO: 如果默认的不是所需画笔,则返回另一个画笔 return hbr; } 效果图:

    转载请注明原文地址: https://ju.6miu.com/read-7709.html

    最新回复(0)