MFC 对话框中静态文本背景设置透明问题
静态文本的transparent属性设置为trueHBRUSHCtestDlg::OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor){...
静态文本的 transparent 属性设置为 true
HBRUSH CtestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
if (pWnd == this)
{
return m_brsh;
}
if (nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkColor(TRANSPARENT);
pDC->SetTextColor(RGB(255, 0, 0));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
运行之后,静态文本背景是 黑色的 展开
HBRUSH CtestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
if (pWnd == this)
{
return m_brsh;
}
if (nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkColor(TRANSPARENT);
pDC->SetTextColor(RGB(255, 0, 0));
return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
运行之后,静态文本背景是 黑色的 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询