jackfunhunter 2016-10-02 05:41 采纳率: 0%
浏览 1896
已结题

MFC 静态文本背景颜色怎么设置透明

我再对话框中,添加了一个静态文本,对话框自己贴了一张图片!
然后 静态文本背景是白色的,不好看
然后通过OnCtlColor的方法,把静态文本设置为透明色,代码如下:

在属性中,我已经把 transparent 设置为 true 了

HBRUSH CtestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

if (pWnd == this)
{
    return m_brsh;
}

if (nCtlColor ==  CTLCOLOR_STATIC)
{
    pDC->SetBkColor(TRANSPARENT);
    pDC->SetTextColor(RGB(255, 0, 0));


    return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
}

return hbr;

}

设置以后,运行,静态文本的背景色是黑色的!

  • 写回答

1条回答 默认 最新

  • androiosymbian 2016-10-02 07:48
    关注

    HBRUSH FrmMain::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    HBRUSH hbr = CXDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO:  在此更改 DC 的任何特性
    if (nCtlColor == CTLCOLOR_STATIC)
    {
        pDC->SetBkMode(TRANSPARENT);
        return   (HBRUSH)::GetStockObject(NULL_BRUSH);
    }
    // TODO:  如果默认的不是所需画笔,则返回另一个画笔
    return hbr;
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功