Release Notes BCGControlBar Professional Edition Version: 33.2. Released: 08/29/2022 Office 2021/2022-style Visual Themes are available now (see screenshot and screenshot). A new class CBCGPVisualManager2022 implements the following visual styles: Colorful, Dark Gray, White and Black. These new styles were added to BCGP_VISUAL_THEME enumeration: BCGP_VISUAL_THEME_OFFICE_2022_COLORFUL BCGP_VISUAL_THEME_OFFICE_2022_DARK_GRAY BCGP_VISUAL_THEME_OFFICE_2022_WHITE BCGP_VISUAL_THEME_OFFICE_2022_BLACK Please take a look at BCGPMSOfficeDemo, BCGPVisualStudioGUIDemo, BCGPControls, BCGPOrganizer, DrawCLI and WordPad examples to see this new visual theme. Ribbon Bar CBCGPRibbonEdit: added auto-complete list support (see screenshot). SetAutoCompleteList and IsAutoCompleteList methods were 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). Please take a look at RibbonGadgets samples to see this feature in action. CBCGPRibbonBar::ExportImageToIcon has a new, optional parameter bAutoScale. If a Ribbon image is SVG, the returned icon will be automatically scaled according to current DPI. CBCGPRibbonBar::ForceRecalcLayout has a new, optional parameter bRebuildGlobalFonts. If this parameter is FALSE, the global fonts are not recreated. The most internal calls to this method are passing FALSE to this parameter now. Ribbon Designer additions: added Office 2022 colorful, white, dark gray and black visual themes. Ribbon Edit Box control has a new "Auto-complete list" property. Grid and Report Controls CBCGPGridCtrl: implemented 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 was added to BCGP_GRID_FILTERBAR_OPTIONS and BCGP_GRID_FILTERBAR_PARAM structures. In addition, EnableFilterBar method has a new, optional parameter bAutoExpandGroups. Please take a look at BCGPControls example ("Extended Tree Control" view) to see this feature in action. Method CBCGPGridRow::ReplaceItem restores selection if original row was initially selected. Calendar and Planner CBCGPCalendar: a new virtual method GetWeekDay allows to specify a custom week day label. By default, a system short week day is being used. CBCGPPlannerManagerCtrl: implemented ability to draw multi-day appointments with duration less than 24 hours (see screenshot). New methods SetMultiDayLessThan24 and IsMultiDayLessThan24 were added. Please take a look at BCGPCalendarDemo example ("Month" view) to see this feature in action. Controls CBCGPColorButton: when user presses the Enter key, the color popup is displayed now. CBCGPComboBox: an embedded edit box is created with a center vertical alignment now. CBCGPComboBox: improved selected item appearance in some visual themes. CBCGPGroup: added caption horizontal alignment and multi-line support (see screenshot). Please take a look at BCGPControls example to see this new feature in action. Added a new registered message BCGM_ROUNDED_CORNERS_ALLOWED: handle this message to tell whether rounded corners are allowed for specific control. CBCGPWinUITiles: a method SetRoundedShapes has a new, optional parameter dblCornerRadius (default is 2). A new method GetCornerRadius 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 accessible by keyboard now. CBCGPRibbonCommandsComboBox: improved MSAA support. CBCGPRibbonMDITabsTitle: MSAA state is correct now when the title is invisible. CBCGPRibbonBar: improved Narrator support for the Ribbon keyboard navigation. Miscellaneous CBCGPWindowsManagerDlg: added ability to display a full path in the item tooltip. CBCGPWindowsManagerDlg has a new, optional parameter bShowPathInTooltips. The same parameter was added to CBCGPMDIFrameWnd::EnableWindowsDialog method. CBCGPMessageBox: if hwndOwner is specified in the message box parameters, this window will be used as message box parent. CBCGPRegistrySP: method create has a new, optional parameter bForceDefault. If this parameter is TRUE, the default Windows registry will be always used. CBCGPDrawManager: added a new method DrawRoundRect. Call this method to draw a rounded rectangle with smooth rounded corners. CBCGPToolBarImages: image extraction methods (ExtractIcon, ExtractBitmap and ExtractSimplifiedIcon) have a new optional parameter sizeIconSVG: if image list contains SVG icons, the exported image will be scaled to specified dimensions. CBCGPToolBoxButton: a new method GetParentPage 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 whether the standard keyboard accelerators processing is enabled. Examples and Samples BCGPCalendarDemo: added demonstration of multi-day appointments with duration less than 24 hours in the Month view. BCGPControls: added groups with multi-line captions and various text alignments demonstration, color picker custom shapes and extended tree control auto-expand groups upon filter bar changing. MenuQuestionBox: added demonstration how to activate the question box using keyboard shortcut. RibbonGadgets: added demonstration how to create a Ribbon Edit box with auto-complete list. A new Office 2022 visual theme was added to the following examples and samples: BCGPControls BCGPGridExample BCGPMSOfficeDemo BCGPOrganizer BCGPOutlookDemo BCGPVisualStudioGUIDemo DrawCli WordPad NotificationBadgesDemo PropSheetDemo RibbonDialogDemo RibbonGadgets RibbonMDIDemo RibbonSimplifiedMode RibbonStartPageDemo ThemedFileDialog MDIEditorDemo: added example how to use Python-style editor scheme. Fixes Addressed issue with reading Windows options from the registry when custom application store (e.g. XML file) is specified. In the previous product versions, the framework tried to obtain some system settings such as ColorPrevalence, AccentColor or AppsUseLightTheme from the default application store. CBCGPButton: addressed issue with redrawing default push button when control is losing focus. CBCGPCircularGaugeImpl: addressed issue with incorrect needle size when DPI is more than 100%. CBCGPComboBox: fixed bug with automatically hidden vertical scroll bar (scroll bar did not appear upon mouse hovering). Dialogs and Forms: addressed issue with redrawing control info tips after layout changing. CBCGPStrokeStyle: method CompareWith is working correctly now when a list of custom dashes is specified. The system sound is not played anymore when the Ribbon's combo box or auto-complete popup is created. CBCGPListBox: fixed bug with incorrect caption row redrawing after removing items located prior the caption row(s). Frame windows: Windows 11 rounded corners are not specified anymore when the frame window is maximized. This prevents an incorrect redrawing of non-client area in the maximized state. Addressed issue with incorrect window/control border size in case of some window styles. CBCGPPropList: addressed issue with property button covered by in-place tooltip. Now, when user hovers the mouse cursor over the button, in-place tooltip is disappeared. CBCGPPropList: double-clicking on the group check box doesn't expands/collapses group anymore. CBCGPPopupMenu: addressed cascaded popup direction issue on the 3-rd level popup menu when a 1-st level menu is created near the right edge of the screen. CBCGPInfoBoxRenderer: improved rounded corners and drop-down shadow appearance. CBCGPScrollBar: addressed issue with processing some messages after control have been destroyed. CBCGPBrowseForFolderDlg: fixed bug with ignoring "include hidden" flag when "non-folders" flag is not specified. CBCGPToolBoxEx: addressed issue with incorrect indexes of remaining pages after removing a specific page. CBCGPToolBar: addressed issue with incorrect controls layout after dragging docking pane with embedded toolbar to other monitor with different DPI. This happened only if toolbar has controls such as combo boxes or edit boxes. CBCGPGridCtrl: the filter bar font is correctly scaled when Grid zoom factor or DPI has been changed. CBCGPRecentFilesListBox: addressed issue with drawing root (drive) folders. CBCGPRibbonComboBox: addressed issue with incorrect (non-scaled) drawing of the calculator icon in the high-DPI environment. CBCGPUserTool: addressed issue with invoking custom tool from the popup menu. CBCGPRibbonPanel: addressed issue with incorrect controls padding after DPI changing.