BCGControlBar Professional Edition Version: 29.1. Released: 12/12/2018 Chart Control Implemented data binding (see screenshot). You can easily add a chart data from external data source such as ODBC or ADO. The following classes were added: CBCGPChartDataProvider. CBCGPChartODBCDataProvider. CBCGPChartDAODataProvider. CBCGPChartADODataProvider. New methods BindDataTable and BindDataSQL were added to CBCGPChartVisualObject class. Please take a look at BCGPChartExample application ("Chart Data Binding" view) to see this feature in action. Chart color theme can be edited in the Visual Designer now (see screenshot). Gauge Controls Added themes support (see screenshot): you may specify new themes in the Visual Designer and switch between themes using new CBCGPVisualContainer methods SelectVisualTheme or SelectVisualThemeByName. Please take a look at BCGPDigitalDashboard and BCGPGaugesDemo examples to see this feature in action. CBCGPCircularProgressIndicatorImpl: added animation effect for setting a new position. CBCGPCircularProgressIndicatorImpl::SetPos has a new, optional parameter uiAnimationTime. See BCGPDigitalDashboard example ("Call Center" view) to see this feature in action. Grid and Report Controls Added a new virtual method CBCGPGridCtrl::DestroyRow - override it to add some custom actions when grid row is destroyed. Method CBCGPGridCtrl::CleanUp is virtual now. Graphics Manager A new static member CBCGPGraphicsManagerD2D::m_bTrailingSpacesInTextSize specifies whether text trailing spaces should be counted in CBCGPGraphicsManagerD2D::GetTextSize method. By defaut this member is FALSE and trailing spaces are ignored. CBCGPGraphicsManagerD2D: added factory access methods: GetD2D1Factory returns Direct2D factory, GetDWriteFactory returns DirectWrite factory and GetWICImagingFactory returns WICImaging factory. A new static method CBCGPGraphicsManager::SetDefaultGraphicsManagerType allows to specify a graphics manager type that will be used by default. For example, if for some reason you wish to disable D2D usage, please call CBCGPGraphicsManager::SetDefaultGraphicsManagerType (CBCGPGraphicsManager::BCGP_GRAPHICS_MANAGER_GDI_PLUS) and GDI+ will be used by default. Miscellaneous BCGPGLOBAL_DATA: added new public member 'm_bControlsVisualManagerStyle'. Set this member to TRUE if you wish to enable a visual manager style for all library controls. CBCGPMessageBox: added a new static member 'm_nTextHeightRatio' (default value is 5). You may change this value to make a message box wider or narrower. CBCGPListBox: implemented default item support. A default item is rendered using bold font. Call new method CBCGPListBox::SetDefaultItem to specify default item and CBCGPListBox::GetDefaultItem to get a current default item index. A new method CBCGPSVGImage::ReplaceColors: replaces all occurrences of specific color with a new one. CBCGPRibbonBar: tooltip default dimensions are scaled now according to current DPI. CBCGPRibbonPanel::RemoveAll method is virtual now. Examples and Samples BCGPChartExample: added new view "Chart Data Binding". BCGPDigitalDashboard: added theme selection (light and dark) demonstration. Fixes CBCGPMessageBox: addressed issue with message box width in case of a wide caption. CBCGPPropList: OnPropertyChanged is not called twice now when user changes a Boolean property when switch or check box style is specified. CBCGPEditCtrl: addressed issue with hiding a caret in the editor control. Diagram: addressed issues with connectors tracking in the edit mode. CBCGPToolBoxEx: "Out of Filter" text doesn't appear on the empty toolbox now. CBCGPToolbarEditBoxButton and CBCGPToolbarComboBoxButton: a default control width is automatically scaled according to current DPI now. CBCGPCircularProgressIndicatorImpl: addressed issue with reposing sub-gauges when a parent container is being scrolled.