
Improves Toolbars and Menus, Ribbon Bar and Chart controls.
Features
- 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).
- Improved Ribbon commands search:
- 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.
- Improved frame captions bar:
- 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).
- Improved chart thumbnails:
- 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.