改变静态文本框和PictureControl的背景颜色

/************************************************************************/
/* 改变静态文本框和选择框的背景颜色                                     */
/************************************************************************/
HBRUSH COpenDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = __super::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO:  在此更改 DC 的任何属性
    if (nCtlColor==CTLCOLOR_DLG)  //对话框颜色
    {
        return m_brush;//返回自己设置的刷子
    }
    if (nCtlColor==CTLCOLOR_STATIC&&pWnd->GetDlgCtrlID()==IDC_STATIC)//静态文本颜色
    {
        pDC->SetTextColor(RGB(0,0,0));
        //pDC->SetBkColor(RGB(244,247,252)); //静态控件的背景颜色设置,这里设置与背景颜色一致
        pDC->SetBkMode(TRANSPARENT);//模式设置透明,忽略静态控件的背景颜色设置,与对话框颜色融合
        hbr=(HBRUSH)m_brush;
    }
    if (pWnd->GetDlgCtrlID()==IDC_STATIC_ICON) //Picture Control控件icon背景颜色设置
    {
        pDC->SetBkColor(RGB(244,247,252));
        hbr=(HBRUSH)m_brush;
    }
    // TODO:  如果默认的不是所需画笔,则返回另一个画笔
    return hbr;
}

 

posted @ 2018-06-12 09:02  小雨滴答  阅读(1156)  评论(0编辑  收藏  举报