首页 > 其他 > 详细

关于空间背景颜色的操作

时间:2014-01-23 22:11:41      阅读:467      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
HBRUSH CScheduleDialog::OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor )
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    if (pWnd->m_hWnd == GetDlgItem(IDC_STATICSCHEDULEINIT)->m_hWnd)
    {
        pDC->SetBkColor(354756);
        //pDC->SelectObject(&m_f)
        return m_brush;
    }
    return hbr;
}
View Code

我这里的一个示例是关于往static text中添加背景颜色的。

首先,这里的OnCtlColor是继承dialog的,所以,这里重写该类即可。

在消息映射中,需要添加ON_WM_CTLCOLOR()

然后需要创建一个相应的画刷,m_brush.CreateSolidBrush(354756); 这个在OnInitDialog中

在OnCtlColor 中,可以进行修改背景色的同时,也可以修改字体等。也是通过pDC来操作即可。比如:pDC->SelectObject(&m_font);   m_font.CreatePointFont(150,"华文行楷");

pDC->SetBkColor(m_u32Col);

如果要设置透明的背景则为:pDC->SetBkMode(TRANSPARENT); 函数返回要设置为:return   (HBRUSH)::GetStockObject(NULL_BRUSH);否则不会是透明。

关于空间背景颜色的操作

原文:http://www.cnblogs.com/cxiaoln/p/3531098.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!