Skip Navigation LinksBCGSoft > Release Notes > Version Release Notes

Release Notes

BCGControlBar Professional Edition

Version: 37.4. Released: 05/05/2026

  1. Ribbon Bar
    1. Implemented the user account Ribbon control (see screenshot). A new class, CBCGPRibbonUserAccountButton, allows you to add a user account to your ribbon with a few lines of code. This component has the following features:
      • Circular or square shape.
      • Support for the user image or initials.
      • Logged-in and logged-out states.
      • Ability to display the user's name on the left or right side.
      • Can be added either to the ribbon caption or the tabs row.
      Please take a look at the BCGPMSOfficeDemo example and the RibbonGadgets and RibbonStartPageDemo samples to see this new control in action.
    2. CBCGPRibbonHyperlink: modernized the link icon appearance (see screenshot).
    3. Enhanced the behavior of the Ribbon minimize button: starting this version, this button can display a drop-down menu with the Ribbon layout options (see screenshot). SetMinimizeButtonOptions and GetMinimizeButtonOptions were added to the CBCGPRibbonBar class. Please look at the BCGPMSOfficeDemo example and the RibbonGadgets sample to see this addition in action.
    4. The new methods, SetCaptionTextCentered and SetSystemIconVisible, were added to the CBCGPRibbonBar class to allow users to specify the caption text location (either on the left or centered) and the visibility of the system icon. SetCaptionTextCentered and SetSystemIconVisible were added to the CBCGPRibbonBar class; in the previous product versions, those attributes were specified by the visual theme only. The RibbonGadgets sample demonstrates how to use these new ribbon bar properties.
    5. Implemented the ability to add any ribbon controls (not CBCGPRibbonCaptionCustomButton objects only) to the ribbon caption bar: call the new method, CBCGPRibbonBar::AddCaption. Button to add the Ribbon control to the caption bar (left of the system buttons).
  2. Dialogs and Forms
    1. CBCGPTaskDialog additions:
      • Implemented a caption 'Copy' button (available only in visual themes with owner-draw captions; see screenshot). When the 'Copy' button is clicked, the content of the task dialog is copied to the clipboard. Call the new method, EnableCaptionCopyButton, to enable or disable this feature.
      • Added the ability to specify extra space between the radio buttons (the new method, SetRadioButtonsExtraSpacing, was added).
      The TaskDialogDemo sample demonstrates these new features.
    2. CBCGPMessageBox additions:
      • Added support for the temporarily disabled button (see screenshot); to temporarily disable a specific message box button, set the new global class members m_nTemporaryDisabledBtnID, m_nTemporaryDisabledBtnDelay, and m_szTempDisabledFmt prior to displaying the message box.
      • Added a caption "Copy" button (only for the visual themes with the owner-drawn captions; see screenshot). When the "Copy" button is clicked, the content of the message box is copied to the clipboard. Set the new global variable m_bCaptionCopyButton to TRUE to enable this feature or to FALSE to disable it.
      Our sample application MessageBoxDemo demonstrates these additions.
    3. CBCGPFontDialog: implemented the ability to display all styles (Regular, Bold, Italic and Bold Italic) in the "Style" combo box. To display all styles, set the new static member m_bDefaultStyles (TRUE by default) to FALSE. If this member is TRUE, only default (font-specific) styles will be displayed.
    4. Themed Find/Replace dialogs now support the "Wrap around" option; you can specify the FR_SHOWWRAPAROUND flag and obtain the check box state using the FR_WRAPAROUND flag.
  3. Calendar and Planner
    1. Added support for both PNG and SVG custom icons.
    2. The built-in appointment icons are automatically inverted now in the dark visual themes (see screenshot).
    3. The appearance of the control has been improved in the Windows high-contrast themes (Windows 10 or later).
  4. Controls
    1. CBCGPDateTimeCtrl: added a new virtual method OnCloseDateTimeList; this method is called when the date/time drop-down list is closed.
    2. CBCGPProgressCtrl: improved appearance of the progress bar with the narrow channel (see screenshot).
    3. CBCGPTabWnd: implemented the Ribbon-like tab activation by the mouse wheel. Call the new CBCGPTabWnd method EnableTabActivationByMouseWheel to enable or disable this feature. Please look at the RibbonGadgets ("Source code" pane) and TabControl samples to see this new feature in action.
    4. CBCGPStatic: added support for the pictures with the circular shapes (see screenshot). SetPicture methods have a new, optional parameter, 'bPictureCircularShape.' Please look at our example BCGPControls to see this new feature.
    5. CBCGPButton: implemented the temporary disabled state (see screenshot); you can make the button temporarily disabled for a given number of seconds by calling the new method SetTemporaryDisabled. The BCGPControls example demonstrates this new feature.
    6. CBCGPPropList: added built-in validation for the properties with the ranges; CBCGPProp:: EnableSpinControl has a new, optional parameter 'bValidateRange' (FALSE by default). When this parameter is TRUE and the entered value exceeds the range, the control sends a new registered message BCGM_PROPERTY_INVALID_RANGE to the owner, and the user cannot apply the change. Our example BCGPControls demonstrates this new feature.
  5. MSAA and CodedUI Tests
    1. Added MSAA support for the Ribbon Backstage View "Close" button.
    2. Improved the MSAA support for the Ribbon caption buttons and controls (both built-in and custom).
    3. Improved the MSAA support for the MDI child windows' caption buttons.
  6. Edit Control
    1. Implemented tracking changes bar (see screenshot). Call a new CBCGPEditCtrl method EnableTrackChanges to enable or disable this feature. Look at the BCGPVisualStudioGUIDemo example to see this addition in action.
    2. Enhanced the current row highlighting appearance (see screenshot). The current row style can be one of the following:
      • Outline;
      • Outline with fill;
      • Outline with fill and a selection bar (like Visual Studio 2026).
      By default, the current row style is specified by the visual manager, but you can change it by passing the desired style to the EnableHighlightCurrentLine method (to the new parameter 'style').
    3. A new virtual method, GetWhiteSpaceColor, returns the white space symbols' foreground color. Override this method if you wish to specify the custom color of the white space symbols.
  7. Miscellaneous
    1. libpng has been upgraded to the latest version (1.6.55).
    2. zlib (used by libpng) has been upgraded to the latest version (1.3.2).
    3. CBCGPToolBarImages: added a new, optional parameter bCheckDPIAwareness (TRUE by default) to the SmoothResize method; if this parameter is FALSE, the image is resized even if the image list is DPI PM2-aware.
    4. CBCGPDockManager: a new global member m_bHideInactiveFrameFloatingBars specifies whether the floating panes should be hidden when the parent frame window is inactive.
      • BCGP_DEFAULT (default value): hide toolbars only;
      • FALSE: don't hide any floating panes;
      • TRUE: hide all floating panes;
    5. CBCGPGridCtrl: The colors of the in-place edit control created in the grid cell with the custom colors are the same as the grid cell colors (see screenshot). In previous versions, the in-place edit control always used default colors. If the in-place edit color is not specified, CBCGPGridItem::OnCtlColor calls a new visual manager method, GetGridItemInPlaceEditBrush, to obtain the fill color.
    6. MDI tabs and MDI tabbed groups: implemented the ability to specify a "New Tab" (see screenshot). m_bNewTab and m_strNewTabLabel members were added to the CBCGPMDITabParams class. The MDITabsDemo sample demonstrates this addition.
  8. Examples and Samples
    1. BCGPControls: added demonstration of the static picture with the circular shape, the property with the range validation, and the temporarily disabled push button.
    2. BCGPMSOfficeDemo: added user account control and ribbon options button demonstrations.
    3. MDITabsDemo: added MDI tabs "New" button demonstration.
    4. MessageBoxDemo: added demonstrations of a temporarily disabled push button and the copy button located on the caption.
    5. RibbonGadgets: added demonstrations of the user account control, ribbon option button, and ribbon caption properties.
    6. RibbonStartPageDemo: added ribbon user account demonstration.
    7. TaskDialogDemo: added a caption copy button and radio buttons extra space demonstrations.
    8. BCGPVisualStudioGUIDemo: added demonstration of the tracking changes bar.
    9. The toolbar, ribbon, and other icons were modernized in most examples, and now these applications have a new, fresh look, similar to Visual Studio 2026 and MS Office 2024.
    10. TabControl: a demonstration of tab activation using the mouse wheel has been added.
  9. Fixes
    1. Addressed some issues with the reversed mouse button order (when the primary mouse button is the right).
    2. CBCGPDiagramTableShape: fixed a bug with incorrect internal padding when the diagram is zoomed in.
    3. CBCGPSVGImageList: the image list created by ExportToImageList has the ILC_MASK flag now.
    4. CBCGPEdit: if control has the shell auto-complete themed list, this list is not dropped down anymore when control receives the WM_SETTEXT message.
    5. CBCGPPropertyPage: addressed the issue with the partial redrawing of the page header when the page-changing transition effect is enabled.
    6. CBCGPListBox: the control's horizontal scrolling performance has been optimized.
    7. Ribbon keyboard customization dialog: the standard (like MDI windows) items are not added to the commands list anymore.
    8. CBCGPScrollDialog: addressed the issue with restoring the dialog from the minimized state (if the dialog has the "Minimize" caption button).
    9. CBCGPToolBar: addressed an issue with the incorrect layout of the floating toolbar after calling the SetNonPermittedCommands method when the parameter bUpdateExistingToolBars is TRUE.
    10. CBCGPImageEditDlg: addressed some issues with the copying and pasting of the 32bpp images.
    11. CBCGPScrollBar: fixed the bug that caused the thumb to be drawn incorrectly in RTL (right-to-left) mode in certain specific cases.
    12. CBCGPCustomizeMenuButton: addressed the issue with the incorrect layout of the fixed (that occupies the whole row) toolbar after adding or removing a toolbar button in the quick customization process.
    13. CBCGPDlgImpl: addressed the issue of incorrect minimum tracking sizes for resizable dialogs in environments with a DPI of 175% or higher.
    14. CBCGPEditCtrl: addressed some issues with uncommenting the text that didn't contain any comment blocks.