BCG 全局主题样式


4.3 全局主题样式

使用全局主题样式,可以保持程序界面的一致性。

  • InitInstance()中启用一种主题,例如:
    SetVisualTheme(BCGP_VISUAL_THEME_VS_2013_BLUE);
    

  • InitInstance()初始化一些全局的数据。
    //修改Bth背景色为白色
    globalData.brBtnFace.DeleteObject();
    globalData.brBtnFace.CreateSolidBrush(RGB(255255255));		
    CBCGPMessageBox::m_bUseNativeCaption = FALSE; //设置BCGPMessageBox样式
    CBCGPMessageBox::m_bUseNativeControls = FALSE;
    

  • 各个窗口、控件使用BCG的类,或者继承自BCG,并且设置VisualManagerStyle标志,不同的类方法可能不一样。
    EnableVisualManagerStyle(TRUE, TRUE);
    m_wndList.m_bVisualManagerStyle = TRUE;//控件直接设置
    

  • 窗口绘制,尽量用全局变量。例如:
    HBRUSH CDlgTest::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
        HBRUSH hbr = CBCGPPropertySheet::OnCtlColor(pDC, pWnd, nCtlColor);
    
        switch (nCtlColor)
        {
        case CTLCOLOR_BTN:
        case CTLCOLOR_DLG:
        case CTLCOLOR_STATIC:
        {
            hbr = globalData.brBtnFace;
            break;
        }
        default:
            break;
        }
        return hbr;
    }
    

返回页头
返回目录

你可能感兴趣的:(BCG)