Release Notes BCGControlBar Professional Edition Version: 37.5. Released: 07/15/2026 A new class, CBCGPFrameMenuBar, implements a menu that combines the application frame title and menu bar (see screenshot). The control keeps all the benefits of the docking menu bar (such as customization, menu item wrapping, and right-located specific menu items), but since the frame caption bar does not occupy the separate row, you can increase the space utilized by the views. Please look at our example BCGPVisualStudioGUIDemo and new sample application FrameMenuBarDemo to see this new component in action. Ribbon Bar Implemented an ability to specify horizontal and vertical spacing between the ribbon bar controls (see screenshot): in the latest MS Office versions, there is some gap (1-2 pixels) between the ribbon controls, but not in our implementations. Starting with this version, you can specify this gap by calling a new CBCGPRibbonBar method, SetControlsSpacing. Look at our example BCGPMSOfficeDemo and sample RibbonGadgets, where we demonstrate how to specify 2-pixel spacing in the MS Office 2024 visual theme. CBCGPRibbonCommandSearchOptions: a new member, m_bDropDownFixedWidth, specifies whether the drop-down list with the search results has a fixed (equal to the search box) width (see screenshot). The BCGPMSOfficeDemo example and RibbonGadgets sample demonstrate this addition (MS Office 2024 visual theme). CBCGPRibbonFloaty: ShowWithContextMenu methods have a new optional parameter, 'bOwnMessage' (the default value is 'false'). The purpose of this parameter is the same as in the context menu manager: it specifies how messages are routed; if nonzero, the owner receives the messages; otherwise, the standard MFC routing is used. Toolbars and Menus Added toolbar undo button (see screenshot). A new class, CBCGPToolbarUndoButton, implements a toolbar undo/redo split button with a drop-down recent actions list (in the previous versions, we had demonstrated how to create a similar button in some examples and samples, but now this control is a part of the library). Our Toolbar Editor application now has support for this new control. Look at the BCGPVisualStudioGUIDemo example and UndoBox and MultiLanguageDemo samples to examine how to use this new control. The full-screen implementation additions: Implemented an ability to add the full-screen toggle button located to the right of the menu items (see screenshot). The EnableFullScreenMainMenu method (CBCGPFrameWnd and CBCGPMDIFrameWnd classes) has a new optional parameter, 'bMenuCloseButton.' The toolbar and menu customizations are disabled in the full-screen mode now. Please look at our examples BCGPVisualStudioGUIDemo and WordPad to see these additions in action. Visual Manager and Themes Improved the appearance of outline borders in controls with rounded corners in the MS Office 2021-2024 and Visual Studio 2026 visual themes. From now on, for border drawing, we are using a high-quality and fast Direct2D rendering engine with high DPI support. Implemented toolbar split button drop-down area highlighting in the MS Office 2021-2024 and Visual Studio 2026 visual themes (see screenshot). The following new virtual methods were added to the CBCGPVisualManager class: OnDrawMenuBarCaptionButton: called by the framework to draw the frame menu bar system caption button (such as "Minimize," "Restore," or "Close"). OnFillFrameMenuBarLabel: called by the framework to fill the frame menu bar text label area. Visual Studio 2026-like theme: improved appearance of the toolbar gripper, splitter window and grid header items. Grid and Report Controls CBCGPGridColors: added new members m_HeaderHotColors and m_HeaderPressedColors - specified the grid header items' appearance in the highlighted and pressed states. A new CBCGPGridCtrl method, GetHeaderLineByPoint, allows you to retrieve the header line number in the multiline header. The framework calls a new virtual method of the CBCGPGridCtrl class, GetHeaderTooltipEx, to obtain extended information about the header item tooltip, including the tooltip text and description. MSAA and CodedUI Tests Added menu bar/toolbar keyboard shortcuts (like 'Alt+F' for the 'File' menu item). Implemented MSAA support for the caption buttons (located on the frame caption or frame menu bar). Edit Control The editor's fast scrolling feature has been implemented: if the user holds the Alt button while scrolling vertically with the mouse wheel and a fast scroll multiplier is specified, the scrolling speed will increase. The multiplier value can be specified in the new parameter of the CBCGPEditCtrl::SetMouseWheelSpeed method 'nFastScrollMultiplier.' Please look at our example BCGPVisualStudioGUIDemo to see this new feature in action. CBCGPEditView: Implemented synchronization of the editor content between different copies of the edit window, such as those created by the 'New Window' command or located inside the frame splitter. When this feature is enabled, all changes made in the currently focused edit window (such as newly typed text, changing selected block indentation, or any clipboard operations) will be automatically applied to other edit windows. Call a new method, EnableContentSynchronization, to enable or disable the content synchronization. The BCGPVisualStudioGUIDemo example demonstrates this new feature. Miscellaneous libpng has been upgraded to the latest version (1.6.58). A new global member, globalData.m_bUseInternalViewScrollBarsInSplitter, specifies whether the framework will automatically add the splitter resizing box when a specific view is created in the splitter window (see screenshot). By default, this setting is TRUE. This option affects the following views only: CBCGPDiagramView CBCGPEditView CBCGPGridView CBCGPVisualContainerView CBCGPWinUITilesView When this option is TRUE and the parent splitter has only one row or column, the framework adds the resizing box on the control's scroll bar top/left. The user may press this box and create a new splitter pane by dragging it. Set this option to FALSE if you want to disable this feature. Please look at our example BCGPVisualStudioGUIDemo to see this addition in action. A new global member, globalData.m_bVerifyShellIcons specifies whether the framework verifies the shell icons' validity before assigning them to the shell control (such as shell list or shell tree) items. By default, this member is FALSE. Set it to TRUE at startup to prevent the application from hanging if the list of Windows shell icons is damaged or if one of the shell extensions for displaying the icons is broken. If some icon cannot be created, the default icon will be displayed instead. CBCGPStatusBar: The status bar pane icon's horizontal alignment has been implemented; the SetPaneIcon method now includes a new optional parameter, 'nIconAlign,' which can be set to either TA_LEFT (default) or TA_CENTER. CBCGPListBox: a new protected member, 'm_bDrawFocusRect' (default value is TRUE), specifies whether the focus rectangle should be drawn. Set this member to FALSE in the CBCGPListBox-derived class constructor to disallow the focus rectangle drawing. CBCGPMultiViewFrameWnd: added support for the home view (see screenshot). This view can be presented as an application start page or a catalog of the groups or views. The following new methods were added to the CBCGPMultiViewsCollection class: SetHome: enables the home view. HasHome: tells whether the home view is enabled. GetHomeData: returns custom data associated with the home view. GetHomeRTI: returns the home view runtime class. GetHomeName: returns the home view name (title). In addition, the CBCGPMultiViewFrameWnd class has the following new methods for the home view-related navigation: NavigateHome: activate the home view. IsNavigateHomeAvailable: tells whether the home view is available. IsHomeSelected: tells whether the home view is active. Look at the BCGPControls example to see this new feature in action. Examples and Samples BCGPGridExample: added a demonstration of how to create a custom tooltip with a description in the multi-line header control. BCGPMSOfficeDemo: added demonstrations of how to specify the ribbon controls' spacing and create the search results drop-down list with the fixed width (in the MS Office 2024 visual theme). WordPad: added a demonstration of the 'Full Screen' toggle button located on the full-screen menu bar. DrawCli: added the persistent MDI tabbed documents demonstration; after the application restart, all previously opened documents will be displayed in the same layout as they were before the application was closed. BCGPVisualStudioGUIDemo changes and additions: Added a demonstration of the editor's fast scrolling. Added a demonstration of the editor content synchronization between different copies of the edit window. The new copy of the edit window can be created either by the parent dynamic splitter (added in this version) or by the "New Window" command. The custom Undo and Redo toolbar buttons were replaced with built-in toolbar buttons. The frame caption bar has been replaced with the Visual Studio 2019-2026-like frame menu bar. Added a demonstration of the 'Full Screen' toggle button, which is located on the full-screen menu bar. RibbonMDIDemo: added a demonstration of how to add the custom "Opacity" slider to the Ribbon color picker (see screenshot). UndoBox: this sample demonstrates how to use a built-in toolbar undo button (in the previous product versions, we demonstrated the creation of the custom undo button). RibbonGadgets: added demonstrations of the search results drop-down list with the fixed width, the custom opacity slider in the ribbon color picker, and the ribbon controls spacing. FrameMenuBarDemo (see screenshot): this new sample application demonstrates how to create a menu bar that combines the application frame title and menu bar. BCGPControls: added a demonstration of how to create a home page in the multi-view frame window. Fixes CBCGPAnimationManager: addressed the issue with object reuse after calling the CleanUp method. CBCGPDockingControlBar: fixed a bug with the unexpected closing of the application main frame when the ShowControlBar method is called for the already hidden MDI tab window with the parameter 'bShow' = FALSE. CBCGPMenuButton: addressed the issue with the non-contrast color of the drop-down arrow when the control is not themed (e.g., located on the dialog without visual manager support), but the application has a dark visual theme. CBCGPPopupMenuBar: addressed the issue of unexpectedly dragging a menu item from the 2nd level popup menu and dropping it onto the docking pane. CBCGPShellList: fixed a bug with empty columns after changing the control style to report view in some cases. CBCGPRibbonUndoButton: fixed a bug with missed translation of the internal text labels (such as "Undo One Action" or "Cancel") after changing the UI language. CBCGPGridCtrl: fixed some minor bugs with header item borders drawing in certain visual themes. CBCGPWinXPThemeManager: fixed a bug with the incorrect rendering of the check box when the parameter 'rect' of the DrawCheckBox method has a wrong (not matching the system) size. CBCGPChartSurfaceSeries: addressed some issues in the calculation of the surface triangles. CBCGPGridCtrl: addressed an issue where the BCGM_GRID_SEL_CHANGED message was unnecessarily sent in certain cases, even when the grid selection had not changed. CBCGPStatic: when the SS_SIMPLE style is specified, the control is now painted in the same manner as a Windows static control (the text is displayed as a left-aligned single line without wrapping).