4.3 全局主题样式
使用全局主题样式,可以保持程序界面的一致性。
InitInstance()中启用一种主题,例如:SetVisualTheme(BCGP_VISUAL_THEME_VS_2013_BLUE);
InitInstance()初始化一些全局的数据。//修改Bth背景色为白色 globalData.brBtnFace.DeleteObject(); globalData.brBtnFace.CreateSolidBrush(RGB(255,255,255)); 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; }
全局主题样式设置
3338

被折叠的 条评论
为什么被折叠?



