BCGControlBar Library Professional Edition MFC v31.2

BCGControlBar Library Professional Edition MFC v31.2
Improves Toolbars and Menus, Ribbon Bar and Chart controls.


Feature Release

April 19, 2021 - 13:33
BCGControlBar Library Professional Edition MFC v31.2
BCGControlBar Library Professional Edition MFC
  • Ribbon Bar
    • Improved Ribbon commands search:
      • CBCGPRibbonCommandsMenuCustomItems has a new member: m_strInputPrev (contains previously typed text).
      • New CBCGPRibbonCommandSearchOptions structure member: m_bAlwaysRebuildResultsMenu specifies whether the search results list should be always re-created.
      • Added new virtual method CBCGPVisualManager::GetRibbonCommandsComboIcon.
    • Added ability to specify minimize button location: this button can be positioned on the right side of the tabs row (as in Microsoft Office 2010 applications) or on the bottom-right side of category area (like Microsoft Office 2013 - 2019).
  • Toolbars and Menus
    • BCGM_RESETTOOLBAR registered message: LPARAM now contains a pointer to CBCGPToolBar object.
    • CBCGPToolBar::SetNonPermittedCommands: added a new optimal parameter "bCheckForChanges" (FALSE by default). If this parameter is TRUE and list of non-permitted commands is not changed, no actions are performed.
    • New class: CBCGPToolbarSlider implements a CBCGPToolbarButton-derived toolbar control with embedded CBCGPSliderCtrl.
  • Dialogs and Forms
    • CBCGPPropertySheet: added a new virtual method IsPageTransitionReversedOrder.
    • New method CBCGPPropertySheetCtrl::GetRecommendedSize returns a size required for displaying all pages and navigation (tab) control.
  • MDI Windows and Tabs
    • Improved frame captions bar:
      • Added the ability to automatically create custom caption buttons on detached frame captions.
      • Added the ability to display captions on the right of MDI tabs.
    • CBCGPMDIFrameWnd has a new virtual method GetFrameCaptionMDITabsTitle.
  • Chart Control
    • Improved chart thumbnails:
      • Added thumbnail mode for advanced Chart legend.
      • Developer can now specify a scaling ratio for all text labels in chart thumbnails.
      • Improved thumbnail appearance in Torus, Scatter and Ternary charts.
    • 3D charts walls drawing:
      • Added the ability to enable/disable wall jointing.
      • Improved wall appearance (both in thin and thick modes).
  • Gauge Controls
    • CBCGPKnob: added disabled knob control drawing.
    • CBCGPCircularGaugeImpl: improved interactive mode - the pointer cannot be moved out of scale bounds anymore.
    • CBCGPNumericIndicatorImpl has the following additions:
      • Invisible segments drawing.
      • Indicator state. A state can be Normal, Error or Off.
      • Internal padding.
      • Horizontal and vertical alignment.
  • Diagram Control
    • Added the ability to prevent diagram font (text format) scaling when the diagram is being scaled.
    • Improved diagram appearance: a regular font is now used as a default.
  • Controls
    • CBCGPTabWnd: added tab icon location.
    • CBCGPComboBox: added CComboBoxEx-like icon displayed left of the edit box.
    • CBCGPEdit: new method EnableIconOnLeft allows you to display an icon on the left side of control.
    • CBCGPSliderCtrl has the following additions and improvements:
      • New method allows you to change the thumb position to the clicked location when user clicks the channel.
      • New method allows you to swap minimal and maximal range values.
  • Graphics Manager
    • CBCGPGraphicsManager: improved geometries scaling.
    • CBCGPImage: constructors with HICON and HBITMAP have a new optional parameter "bAutoDestroy" (FALSE by default). If this parameter is TRUE, icon/bitmap will be automatically destroyed in CBCGPImage destructor.
  • Miscellaneous
    • Implemented Microsoft Windows 10 light/dark modes support:
    • Added new registered message BCGM_ONGLOBALFONTSCHANGED: sent to the main application window when global fonts (like globalData.fontRegular) are updated.
    • A global method BCGPTrackMouse is now exportable.
    • CBCGPToolBarImages: added new global member "m_bAlwaysCreateShadowImage" (default is FALSE). If this member is TRUE, the shadow image is created in all visual themes.
    • CBCGPHotSpotImageCtrl: added support for tooltips specified in SVG files ("title" and "desc" attributes).
    • CBCGPBreadcrumb::SelectSubPath: added new optional parameter "delimiter" ('\' by default).
    • CBCGPToolTipParams: added new flag "m_bHideDuplicatedDescription" (FALSE by default). If this flag is TRUE and tooltip name is the same as description, only name will be displayed in tooltip.
    • A new helper class CBCGPPostRedraw simplifies implementation of flicker-less controls.
    • CBCGPDrawManager: added a new method DrawEdge. This method is very similar to CDC::DrawEdge, but edge is rendered using current theme colors and can be drawn on DWM window area.
    • CBCGPSVGBase: added support for "title" and "desc" SVG node attributes; GetName and GetDescription methods were added.
    • Shell manager: added custom ("Quick access") folder support.
    • Added new virtual method CBCGPGridCtrl::OnKeepGroupWithChildrenOnNewPrintPage which specifies whether a grid group should be printed from the new page.