Release Notes BCGSuite for MFC Version: 34.1. Released: 02/27/2024 Dialogs and Forms Background Image Support Improvements: CBCGPDialog and CBCGPPropertyPage classes now include a new, optional parameter, bScaleByDPI, in the SetBackgroundImage method. When set to TRUE, this parameter scales the background image according to the current DPI. CBCGPFormView class now supports background images with the addition of the SetBackgroundImage method. Enhanced appearance of background images in scrollable dialogs (CBCGPScrollDialog). CBCGPDialog: Improved appearance of expandable dialogs with background images (see screenshot). CBCGPEditBrushOptions: Added a new member, m_bNoGradients (default is FALSE). When set to TRUE, this member allows the brush to be empty or a solid color only. Gauge Controls Circular and linear gauges: improved built-in color themes such as Blue or Silver (see screenshot). CBCGPCircularGaugeImpl and CBCGPLinearGaugeImpl: a new method GetColorTheme returns a currently selected built-in theme id or (-1) if the gauge uses either custom or visual manager-based theme. CBCGPCircularGaugeImpl: a new virtual method OnAfterSetColorTheme is called by the framework after setting the standard color theme. Override this method to change the standard theme colors. Visual container and Visual Designer CBCGPVisualEffect: added a new enumeration BCGP_VISUAL_SOURCE: BCGP_VISUAL_SOURCE_DEFAULT - depends on the effect BCGP_VISUAL_SOURCE_COLOR - color and alpha channel BCGP_VISUAL_SOURCE_ALPHA - alpha channel Visual Designer improvements: Added new 'Themes' property for circular and linear gauges (see screenshot). Added new 'Effects' property for circular, linear, color indicator, text, and image gauges (see screenshot). CBCGPVisualContainer: a new method EnableVisualEffects allows to temporarily enable/disable visual effects for all objects. AreVisualEffectsEnabled method tells whether the visual effects are enabled. Visual Manager and Themes CBCGPVisualManager: a new method OnDrawSwitchWithColor allows to draw switch control with specified On/Off colors. CBCGPVisualManager: the following new Planner drawing methods were added: CanFillDayNonWorkingItem: tells whether non-working days should be filled with a special background. OnFillPlannerDurationBar: called by the framework for filling the planner duration bar. GetPlannerViewBackgroundColor: returns the planner view background color. OnDrawPlannerHeaderAllDayItemBorder: called by the framework for drawing "All day" header border. Grid and Report Controls BCGP_GRID_COLOR_DATA: a new method InitColors simplifies colors initialization to the default values. CBCGPGridCheckItem: a new method SetSwitchColors allows to specify switch custom colors (see screenshot). Our example BCGPGridExample demonstrates this addition. CBCGPGridCtrl: a new method SetContentFullClear specifies behavior of CBCGPGridItem::ClearContent method. If you are calling this method with parameter TRUE, all grid item data will be deleted when CBCGPGridItem::ClearContent method is called; otherwise, only grid item value is cleared. By default, the full clearing of the content is disabled. In addition, a new method IsContentFullClear tells whether the full clearing of the content is enabled. CBCGPGridCtrl: implemented the ability to specify the hierarchy line color. Call a new method SetTreeLineColo to change the line color and call GetTreeLineColor to obtain the line color. CBCGPGridCtrl: a new method SetTextColor sets a text color of the control. If the color value is -1, the default text color will be used. Controls CBCGPListBox: a new virtual method OnBeforeFillItem allows to customize the appearance of certain list box items. Please take a look at BCGPControls example ("List box" view) to see this new feature in action. CBCGPTreeCtrlEx: the following CTreeCtrl-like methods were added to this control: GetIndent SetIndent SetBkColor GetItemHeight SetItemHeight GetLineColor SetLineColor EndEditLabelNow Miscellaneous CBCGPWinUIBaseObject: added a new virtual method OnDPIChanged; override this method if you need to perform some custom actions upon DPI changing. CBCGPXmlNode: added support for reading/writing of the UNICODE strings in MBCS applications; new methods GetTextW and SetTextW were added to this class. CBCGPGraphicsManager: a new method ExportSymbolToBitmap allows to create a bitmap containing a symbol (using special fonts like "Segoe Fluent Icons" for Windows 11 or "Segoe MDL2 Assets" for Windows 10). Please take a look at our GraphicsManagerDemo sample ("Texts" view) to see this addition in action (see screenshot). CBCGPShellBreadcrumb: added ability to automatically expand environment strings (such as %APPDATA%) typed in the control edit box. Call new method EnableExpandEnvironmentStrings to enable this feature. CBCGPSVGImage: method ExportToBitmap has a new, optional parameter 'bOptimizedConvertion' (FALSE by default). When this parameter is TRUE, a new optimized (single-pass) rendering will be used. The optimized conversion is always used for the font icons export. Examples and Samples BCGPControls: added List Box custom colors and Tree Control custom indent demonstrations. BCGPGridExample: added grid switch custom colors demonstration. ExpandDialogDemo: added custom background image demonstration. GraphicsManagerDemo: added font icons demonstration. Fixes CBCGPInfoBoxCtrl: addressed issue with incorrect tooltips when the link occupies more than one row. CBCGPButton: addressed issue with incorrect check box left margin when control has "left text" style. CBCGPPopupWindow: addressed issue with incorrect popup window height when the popup does not have both caption and gripper (for example, the information tip). CBCGPGridCtrl: addressed some MSAA issues with bounding rectangles of horizontally scrolled grid rows. CBCGPGridCtrl: addressed issue with unnecessary in-place tooltip when the grid child window (such as grid cell edit box) is active. CBCGPGridCtrl: fixed bug with incorrect highlighted item after removing grid items. CBCGPPlannerManagerCtrl: addressed issue with displaying planner with multi-resource storages when the resource list is empty. Gauges and diagrams: addressed issues with drawing shadows for the objects with an empty background or outline brush.