文档彩票走势图>>BCGControlBar使用教程>>BCGControlBar教程:可视化管理器
BCGControlBar教程:可视化管理器
BCGControlBar库框架允许您创建各种应用程序“skins”并轻松更改用户界面元素的外观。虽然该产品具有超过25个预先构建的视觉主题,但您可以轻松实现自定义主题。 在下图中,您可以看到从“BCGPMediaPlayer”和“BCGPMSMoneyDemo”示例中截取的屏幕截图:
该框架维护CBCGPVisualManager 类的全局对象,默认情况下绘制以下GUI元素:
- 条形边框(OnDrawBarBorder)
- 棒夹(OnDrawBarGripper)
- 按钮边框(OnDrawButtonBorder)
- 标题按钮(OnDrawCaptionButton)
- 菜单边框(OnDrawMenuBorder)
- 分隔符(OnDrawSeparator)
- 填充栏背景(OnFillBarBackground)
- 填充按钮内部(OnFillButtonInterior)
- 突出显示菜单项(OnHighlightMenuItem)
每个元素由单独的虚函数显示。 要实现自己的皮肤,您应该执行以下步骤:
- 从CBCGPVisualManager 类派生自己的类。
- 对于要自定义其外观的每个GUI元素,将覆盖相关的绘图功能。
- CBCGPVisualManager对象是一个单例。如果要实例化可视化管理器对象,则应删除以前的实例。使用CBCGPVisualManager :: GetInstance 静态函数来访问当前实例。
以下示例显示如何在默认和自定义可视管理器之间切换:
void CMyApp::SetCustomTheme(int iThemeIndex) { switch (iThemeIndex) { case OFFICE_2016_CUSTOM_THEME: // CMyOffice2016Theme is derived from CBCGPVisualManager2016 class SetVisualTheme(BCGP_VISUAL_THEME_OFFICE_2016_COLORFUL, RUNTIME_CLASS(CMyOffice2016Theme); break; case VS_2017_CUSTOM_STYLE: // CMyVS2017Theme is derived from CBCGPVisualManagerVS2013 class SetVisualTheme(BCGP_VISUAL_THEME_VS_2013_BLUE, RUNTIME_CLASS(CMyVS2017Theme); break; } }