Skip Navigation LinksBCGSoft > Release Notes > Version Release Notes

Release Notes

BCGSuite for MFC

Version: 36.2. Released: 05/06/2025

  1. Visual container and Visual Designer
    1. CBCGPVisualContainer: improved visual manager theme support; the EnableVisualManagerTheme method has a new, optional parameter, "bDeep," which specifies whether the visual manager theme should be recursively applied to all container objects, such as gauges.
    2. A new class, CBCGPVisualContainerView, simplifies usage of the visual container in applications with the MFC document/view support.
  2. Grid and Report Controls
    1. CBCGPReportCtrl: added markup (hyperlinks) support for the preview row (see screenshot). To enable row preview markup, please pass TRUE to the new parameter bEnableMarkup of the CBCGPReportRow::SetDescription method. To handle the hyperlink click event, override the OnClickRowDescriptionLink method in your CBCGPReportCtrl-derived class, or add the BCGM_REPORT_PREVIEW_LINK_CLICK registered message handler to the report control owner window. The BCGPGridExample application ("Report Control" view) demonstrates this new feature.
    2. CBCGPGridCheckItem: the CheckBoxMode enumeration now includes the RadioButton mode (see screenshot). The radio buttons' logic should be implemented in the app code, as the item with this mode works like the CheckBox and Switch items. Please look at the BCGPGridExample application to see this new feature in action.
    3. CBCGPGridCtrl: significantly improved grid control performance; the item positions are cached now, so the access time to the items is dramatically reduced. If for some reason this change affects your existing code (for example, you are directly changing the grid items in your CBCGPGridCtrl-derived class), you can disable this optimization by calling a new method, EnableOptimizedIndexing, with parameter FALSE.
    4. CBCGPGridCtrl: implemented clicking on the multiple check boxes behavior; a new class method SetCheckBoxToggleBehavior specifies how to check/uncheck selected items:
      • ToggleOne: only the clicked check box will be changed.
      • ToggleAllSelectedAsClicked: all selected check boxes will have the same state as the clicked check box.
      • ToggleAllSelected: all selected check boxes will be toggled.
    5. CBCGPGridCtrl: the grid column chooser can be resizable now (see screenshot). To enable this feature, please call a new method, ShowColumnsChooserEx, with the parameter bResizable = TRUE. The BCGPGridExample application ("Report Control" view) demonstrates this new feature.
  3. Controls
    1. CBCGPCalendar: enhanced the multiple-date selection support. The following new methods were added to this class:
      • GetDateEx: returns the first or last selected date.
      • GetFocusedDate: returns the focused date.
      • SetShiftSelectionOnMonthChange: specifies whether the selected dates should be shifted upon a month change.
    2. CBCGPMenuButton: a new attribute, m_bPostCommand, specifies whether the control calls PostMessage instead of SendMessage for notifying the WM_COMMAND.
  4. Graphics Manager
    1. CBCGPGraphicsManagerHelper: added DWM (Aero) support. A new member of this class, m_bOnGlass, specifies whether the content is being painted on the DWM area.
    2. Added CompareWith method to CBCGPPolygonGeometry, CBCGPComplexGeometry, CBCGPLineSegment, CBCGPBezierSegment, and CBCGPArcSegment classes. Using this method may help reuse existing graphics objects and reduce memory and resource usage.
    3. CBCGPSVGImage: a new method Compare allows you to check whether two SVGs have the same content.
    4. CBCGPSVGImage: a new global flag m_bOptimizeShadowEffect (TRUE by default) specifies whether shadow effects defined by a combination of the basic filters, such as feOffset, feGaussianBlur, and feFlood, are automatically converted to the feDropShadow effect.
  5. Miscellaneous
    1. CBCGPWinUITiles additions:
      • A new global member, CBCGPWinUITiles::m_bUseLargeHeaderFonts, specifies whether the tile header is drawn with a larger font. If this member is FALSE, the font size of the tile header is the same as the font size of the tile text.
      • A new method SetAlwaysDrawTextOnRight specifies whether the tile header and text will always be drawn to the right of the tile image; if there is not enough space to display the whole text, the text will be truncated.
      • A new method SetTileInternalPadding specifies the tile internal padding.
      Please look at the BCGPControls example (group of the features; see screenshot) to see these additions in action.
    2. CBCGPPlannerManagerCtrl: a new method SetAccessibilityFlags allows you to specify the accessibility behavior for the planner objects.
    3. CBCGPWinUITilesView: added print/print preview support to this class.
  6. Examples and Samples
    1. BCGPGridExample: added demonstration of the resizable column chooser, report preview row markup (hyperlinks), and grid items with radio button style.
    2. BCGPControls: added demonstration of enabling/disabling shifting selected dates upon month change.
    3. BCGPDigitalDashboard: improved the layout of gauges on the visual container during resizing.
  7. Fixes
    1. CBCGPGroup: addressed control flickering when the group box contains a check box or radio button.
    2. CBCGPBaseVisualCtrl: addressed issue with drawing control content on the DWM (Aero) area.
    3. CBCGPGraphicsManagerD2D: fixed incorrect drawing of lines that have a dash style with dots and a flat cap style.
    4. CBCGPSVGImage: addressed issue with incorrect filter appearance on the exported 32bpp bitmap or icon.
    5. CBCGPVisualContainer: addressed some issues with incorrect scrolling behavior.
    6. CBCGPGridCtrl: fixed bug with incorrect tapping on the check box on the touch screens in the multiple-selection mode.
    7. CBCGPCircularGaugeImpl and CBCGPLinearGaugeImpl: the level bars specified in the Visual Designer are loaded correctly now.
    8. CBCGPLinearGaugeImpl: fixed dynamic elements Z-order - the pointers are drawn on top of the level bars now.