Release Notes BCGControlBar Professional Edition Version: 36.1. Released: 02/17/2025 Ribbon Bar CBCGPRibbonCustomizationOptions: a new member m_bAutoInverseCustomImagesInDarkThemes specifies whether the custom icons should be automatically inverted in the dark themes (see screenshot). By default, this member is FALSE. Please take a look at our BCGPMSOfficeDemo example application to see this new feature in action. LoadFromXML and LoadFromVSRibbon have a new optional parameter "hInstance". This addition allows to load the ribbon bar content from XML located in the external resources. The QAT/caption bar icons are rendered as simplified now when the Windows accent color is shown on title bars (Windows native/scenic and Office 2007/2010 visual themes - see screenshot). Improved appearance of the bottom-located QAT when the Ribbon bar is minimized in the Office 2021-2024 visual themes (see screenshot). CBCGPRibbonProgressBar: added regular (left side) and extended (right side) text labels (see screenshot). Please call the SetText and SetTextExt methods to specify these labels. Our RibbonGadgets sample demonstrates this new feature. Improved ribbon controls layout in case of custom (large) fonts: the calculation of the ribbon panel height takes into account the height of all Ribbon controls. If for some reason this layout is not suitable for you, please call a new method, SetExactPanelHeight, of the CBCGPRibbonBar class with the parameter FALSE. Dialogs and Forms CBCGPPropertySheet class: a new helper method NextPage provides an easy way to navigate the property sheet pages. Implemented DDX (Dialog Data Exchange) support for the following controls: CBCGPDateTimeCtrl: a new method DDX_BCGPDateTime has been added. CBCGPDurationCtrl: a new method DDX_BCGPDuration has been added. CBCGPColorButton: a new method DDX_BCGPColor has been added. These methods allow you to easily map our controls to the dialog/form class members. Please take a look at the BCGPControls example source code to learn how to work with this new mechanism. Gauge Controls CBCGPAnalogClock: if the gauge has a visual manager theme, the built-in date indicator is themed too now. Implemented the gauge shape visual effects (see screenshot). Please take a look at our BCGPGaugesDemo application to see this new feature in action. CBCGPRadialMenuObject: added support for the icon luminosity inversion (see screenshot). A method named SetImageList has a new optional parameter 'bInvertLuminosity'. Please take a look at our BCGPGaugesDemo application ("Radial Menu" view) to see this new feature in action. Visual container and Visual Designer Implemented visual effects per theme: for example, you can specify now a light glowing color for the light theme and a dark color for the dark theme (see screenshot). Our Visual Designer tool supports this new feature. CBCGPVisualContainer: The LoadFromXML method has a new optional parameter "hInstance". This addition allows loading the visual containers using external resources. Grid and Report Controls CBCGPGridCtrl: added support for the icon auto-inversion in the dark themes (see screenshot). A method SetImageList has a new optional parameter bAutoInverseIconsInDarkTheme. Please take a look at our BCGPGridExample application ("Tree" dialog) to see this new feature in action. CBCGPGridCtrl: improved the appearance of the field chooser window in various visual themes. Controls CBCGPRatingCtrl: The focused rectangle is drawn now around the stars area, not in the whole client area as it was in the previous version. Improved the controls focused rectangle appearance: from now, the focused rectangle is drawn only if the control has been activated by the keyboard (standard Windows behavior). The m_bDrawFocus member in the CBCGPSliderCtrl classes specifies this appearance: FALSE: Never draw the focused rectangle. TRUE: Always draw the focused rectangle when the control is focused. BCGP_DEFAULT: Draw the focused rectangle only if the control has been activated by a keyboard. CBCGPButton: a new method EnableButton checks whether the button is focused and moves focus to the next parent dialog control before disabling it. CBCGPGroup has implemented BM_GETCHECK and BM_SETCHECK message processing for groups that have either a checkbox or a radio button. CBCGPDateTimeCtrl: a new method SetYearsRange specifies a valid range of the year values. CBCGPTreeCtrlEx: the following new methods simplify the tree item multiselection management: GetSelectedItemsCount GetSelectedItems SetSelectedItems CBCGPWebView2Ctrl: added visual theme support for the control border. Graphics Manager The class CBCGPSVGImageList now includes the following color processing methods: AdaptColors ReplaceColors InvertColors InvertLuminosity ConvertToGrayScale MakeLighter MakeDarker Simplify CBCGPImage: added luminosity inverting support; a new optional parameter "bInvertLuminosity" (FALSE by default) was added to the class constructor and Load methods. MSAA and CodedUI Tests CBCGPColorButton: get_accValue returns a correct value when the color is not specified. Calendar and planner improvements and fixes: Addressed issue with incorrect value and boundaries of the appointments with finish time at midnight. Corrected the value returned by all-day appointments. Miscellaneous Evaluation version additions: Starting this version, we decided to add x64 libraries and DLLs to the product evaluation. Therefore, if your application is X64-only, you can test a 30-day fully functional version of our product to see how easily you can improve your user interface as well as other functionalities! The binary files are not included in the product setup anymore: you have to download the desired toolset(s) from the Integration Wizard. Integration Wizard: added support for ARM/ARM64 folders; if the ARM platform is selected, the product include and library directories will be added to VC++ platform directories. CBCGPOutlookWnd: added support for the icon auto-inversion in the dark themes for the page buttons (see screenshot). Examples and Samples BCGPControls: added demonstration of the auto-inversed tree control icons and usage of the new DDX methods. The BCGPDigitalDashboard example now includes a demonstration of the gauge effects specific to each visual theme. BCGPMSOfficeDemo: we have added a demonstration of the Ribbon custom icons with color auto-inversion support. BCGPGridExample: the tree dialog demonstrates how the grid icons automatically inverse in the dark themes. BCGPGaugesDemo: added demonstrations of the gauge shape visual effects and radial menu auto-inversed icons. RibbonGadgets: a demonstration of the progress bars with text labels has been added. Fixes CBCGPSVGImage: addressed the issue of incorrectly processing the negative value of H in the case of hsl or hsla colors. CBCGPSVGImage: the "visibility" attribute is processed correctly now in all cases. CBCGPPopupWindow: addressed issue with the incorrect height of the caption area when the custom (large) Windows text size is specified. CBCGPMenuButton: addressed issue with incorrect hit testing of the drop-down area in the high-DPI environment. CBCGPMenuButton: fixed non-contrast color of the disabled drop-down arrow in some visual themes. CBCGPGraphicsManagerGdiPlus: addressed an issue with an incorrect size value returned by the GetTextSizeW method when the graphics are not initialized yet. CBCGPEdit: addressed the issue with the non-contrast search icon when the dark theme is active, but the edit box is not themed. CBCGPEditListBox: if the control's internal keyboard shortcut (such as Ctrl+Up or Ctrl+Down) is the same as the application's keyboard accelerator and the control is focused, the internal shortcut is processed now. CBCGPTaskDialog: addressed some issues in the dialog layout when the flag BCGP_TDF_SIZE_TO_CONTENT is specified. CBCGPToolTipCtrl: if the corresponding toolbar has the "Don't Scale Images" attribute, the tooltip icon is not scaled too now. CBCGPCustomizeMenuButton: fixed incorrect toolbar customization menu width in some languages. Windows XP: fixed some bugs related to incorrect control rendering and non-optimal control layout, among other issues. Toolbar and Ribbon bar menu buttons: addressed the issue with an incorrect drop-down arrow area width when the custom (large) Windows text size is specified. CBCGPStatusBar: addressed the issue with the non-contrast foreground color of the text label in the progress pane in some visual themes. CBCGPDBGridCtrl: fixed bug with incorrect sorting in the generated SQL statement. The issue with removing a currently highlighted item has been addressed in CBCGPTreeCtrlEx. The issue with removing a currently highlighted grid row has been addressed in CBCGPGridCtrl. CBCGPTreeCtrlEx: addressed issue with incorrect column widths upon DPI changing. CBCGPGridCtrl: addressed some issues with in-place edit controls. Ribbon bar customization: We have addressed some issues related to changing the order of the custom contextual tabs.