Visualization Manager
BCGControlBar Pro (MFC)
BCGSuite (MFC)
BCGControlBar for .NET
Visualization manager provides the functionality, that allows you to control look and feel of an application. It centralizes the drawing code for the most important GUI elements, such as toolbars, buttons, grippers and menus. User can switch between different screen themes at runtime. To create your own visualization manager, you need to create a new class derived from CBCGPVisualManager and implement the required drawing methods:
- Ability to create and change at run-time application skins
- Ability to implement your own skin
- Ability to switch between default and custom visual managers
The following visualization managers are built-in:
CBCGPVisualManager | Office 2000/Visual C++ 6.0 look |
CBCGPVisualManagerXP | Office XP/Visual Studio.NET look |
CBCGPVisualManager2003 | Office 2003 look |
CBCGPVisualManagerVS2005 | Visual Studio 2005 look |
CBCGPWinXPVisualManager | Native Windows look |
CBCGPVisualManager2007 | Office 2007 look |
CBCGPVisualManagerVS2008 | Visual Studio 2008 look |
CBCGPVisualManagerVS2010 | Visual Studio 2010 look |
CBCGPVisualManager2010 | Office 2010 look |
CBCGPVisualManagerCarbon | "Carbon" look |
CBCGPVisualManagerVS2012 | Visual Studio 2012 look |
CBCGPVisualManagerVS2013 | Visual Studio 2013-2017 look |
CBCGPVisualManagerVS2019 | Visual Studio 2019 look |
CBCGPVisualManager2013 | Office 2013 look |
CBCGPVisualManager2016 | Office 2016 look |
CBCGPVisualManager2019 | Office 2019 look |
CBCGPVisualManager2022 | Office 2021-2022/365 look |
CBCGPVisualManagerVS2022 | Visual Studio 2022 look |
Sample code:
class CMyManager : public CBCGVisualManager
{
DECLARE_DYNCREATE(CMyManager)
.....
virtual void OnDrawBarGripper(
CDC* pDC, CRect rectGripper,
BOOL bHorz, CControlBar* pBar);
};
IMPLEMENT_DYNCREATE(CBCGVisualManager)
void CMyManager::OnDrawBarGripper(
CDC* pDC, CRect rectGripper,
BOOL bHorz, CControlBar* pBar)
{
// TODO: draw bar gripper
}
// Activate visual manager:
CBCGVisualManager::SetDefaultManager(
RUNTIME_CLASS(CMyManager));