
Adds support for Office 2021/2022-style visual themes.
Features
- Microsoft Office 2021/2022-style Visual Themes are now available. A new CBCGPVisualManager2022 class implements the following visual styles: Colorful, Dark Gray, White and Black.
- Ribbon Bar
- CBCGPRibbonEdit: Added auto-complete list support. SetAutoCompleteList and IsAutoCompleteList methods have been added to this class. To fill the list with matched items, you have to handle a new registered message BCGM_RIBBONEDIT_ON_FILL_AUTOCOMPLETE_LIST in the Ribbon owner window class (usually CMainFrame).
- CBCGPRibbonBar::ExportImageToIcon now has a new bAutoScale optional parameter. If a Ribbon image is SVG, the returned icon will be automatically scaled according to current DPI.
- CBCGPRibbonBar::ForceRecalcLayout now has a new bRebuildGlobalFonts optional parameter. If this parameter is FALSE, the global fonts are not recreated. The most internal calls to this method are now passing FALSE to this parameter.
- Ribbon Designer additions:
- Added Office 2022 colorful, white, dark gray and black visual themes.
- Ribbon Edit Box control now has a new "Auto-complete list" property.
- Grid and Report Controls
- CBCGPGridCtrl: Added the ability to automatically expand grid groups when user types a text in the grid filter bar and group sub-item is matched to the filter. m_bAutoExpandGroups has been added to BCGP_GRID_FILTERBAR_OPTIONS and BCGP_GRID_FILTERBAR_PARAM structures. In addition, EnableFilterBar method now has a new, optional parameter bAutoExpandGroups.
- Added new CBCGPGridRow::ReplaceItem method which restores selection if original row was initially selected.
- Calendar and Planner
- CBCGPCalendar: Added new GetWeekDay virtual method which allows you to specify a custom week day label. By default, a system short week day is being used.
- CBCGPPlannerManagerCtrl: Added the ability to draw multi-day appointments with duration less than 24 hours. New SetMultiDayLessThan24 and IsMultiDayLessThan24 methods have been added.
- Controls
- CBCGPColorButton: when user presses the Enter key, the color popup is now displayed.
- CBCGPComboBox: An embedded edit box is now created with a center vertical alignment.
- CBCGPComboBox: Improved selected item appearance in some visual themes.
- CBCGPGroup: Added caption horizontal alignment and multi-line support.
- Added a new registered message BCGM_ROUNDED_CORNERS_ALLOWED: handle this message to tell whether rounded corners are allowed for specific control.
- CBCGPWinUITiles: The SetRoundedShapes method now has a new, optional parameter dblCornerRadius (default is 2). A new GetCornerRadius method returns a previously specified corner radius.
- MSAA and CodedUI Tests
- CBCGPPopupWindow: Improved MSAA support.
- CBCGPRibbonCategory: Minimize button located on the bottom-right corner of the Ribbon category is now accessible by keyboard.
- CBCGPRibbonCommandsComboBox: Improved MSAA support.
- CBCGPRibbonMDITabsTitle: MSAA state is now correct when the title is invisible.
- CBCGPRibbonBar: Improved Narrator support for the Ribbon keyboard navigation.
- Miscellaneous
- CBCGPWindowsManagerDlg: Added the ability to display a full path in the item tooltip. CBCGPWindowsManagerDlg has a new optional parameter bShowPathInTooltips. The same parameter has been added to CBCGPMDIFrameWnd::EnableWindowsDialog method.
- CBCGPMessageBox: If hwndOwner is specified in the message box parameters, this window will now be used as message box parent.
- CBCGPRegistrySP: Method create has a new optional parameter bForceDefault. If this parameter is TRUE, the default Microsoft Windows registry will be always used.
- CBCGPDrawManager: Added a new DrawRoundRect method. Call this method to draw a rounded rectangle with smooth rounded corners.
- CBCGPToolBarImages: Image extraction methods (ExtractIcon, ExtractBitmap and ExtractSimplifiedIcon) now have a new optional parameter sizeIconSVG: if image list contains SVG icons, the exported image will be scaled to specified dimensions.
- CBCGPToolBoxButton: Added new GetParentPage method which returns a pointer to page where the button is located.
- CBCGPEditCtrl: Implemented standard keyboard accelerators (such as Ctrl+C or Ctrl+V) processing. Call new method SetProcessClipboardAccelerators to enable this feature. IsProcessClipboardAccelerators method tells you whether the standard keyboard accelerators processing is enabled.