BCGControlBar Professional Edition Version: 31.1. Released: 2/2/2021 Implemented auto-hidden scrollbars (see screenshot) for all controls such as list boxes, forms, edit boxes and others. When a scroll bar is inactive (the mouse cursor is not located inside it), only compact (thin) thumb box will be drawn. When you move the mouse inside the scroll bar, the bar will be fully drawn. You may enable this appearance by setting new member globalData. m_bAutoHideScrollBars to TRUE. Alternatively, you may call EnableAutoHideScrollBar method for specific control/form. Please note that this feature is not available for some old visual themes such as Office 2007/2010 or VS 2010. You can see auto-hidden scroll bars in Office 2013/2016/2019 or VS 2012/2013/2017/2019 themes only. In addition, auto-hidden scroll bars were implemented in the visual containers and controls (see screenshot). Tasks Pane and Toolbox Implemented ability to show/hide specific toolbox buttons and pages. The following new methods were added: CBCGPToolBoxButton::SetVisible CBCGPToolBoxButton::IsVisible CBCGPToolBoxPage::SetVisible (extended toolbox only). CBCGPToolBoxPage::IsVisible Improved toolbox items layout: the buttons are not disappearing now when toolbox is narrow. Chart Control BCGPChartMarkerOptions: added new marker shape MS_CROSS (see screenshot). CBCGPChartHistogramSeries: a new method SetSizePercent allows to specify a histogram column width. CBCGPChartLongSeries: a new method SetOrderedXValues allows to specify whether data points are not ordered by X axis. By default, the data points are ordered. CBCGPChartDiagram3D: a new method SetWallsColor allows to specify 3D chart walls base color. In addition, CBCGPChartVisualObject::SetDiagramFillColor has a new optional parameter bSetWallsColor - set it to TRUE if you want to apply a diagram fill color to the 3D chart walls. Added ability to change 3D chart perspective by the mouse wheel: new method CBCGPChartDiagram3D::EnableChangePerspectiveByMouseWheel allows to enable/disable this feature. Please take a look at BCGPChartExample application to see this feature in action. Controls CBCGPListBox: improved multiple selection appearance when user selects items by mouse. CBCGPStatic: implemented Caption mode (see screenshot). Call new method CBCGPStatic::SetCaptionMode to enable/disable this mode for specific static control. MSAA and CodedUI Tests Improved accessibility names for all gauge controls. Ribbon category: added accessibility support for horizontal scroll buttons. CBCGPColorButton: accessibility value contains RGB values now. CBCGPToolbarLabel has a correct accessibility role now. Miscellaneous Improved C++ conformance: addressed some issues with compiling library with /permissive- and /std:c++latest options. CBCGPPopupDlg: methods UpdateContent and UpdateLayout are virtual now. CBCGPPopupMenu: scroll up / scroll down / tear-off tooltip is themed now. CBCGPToolbarDateTimeCtrl and CBCGPToolbarDateTimeCtrl2: a new optional parameter "time" allows to specify initial time in the class constructor. CBCGPDrawManager::GetContrastColor: added a new optional parameter "dblRatio" (default value is 0.0). If this parameter is between 0 and 1, the returned color will be multiplied to this value. CBCGPToolBarImages: Load and LoadStr methods have a new, optional parameter lpszResType which specifies the resource type to be loaded. If this parameter is NULL (default), the first matched resource type will be used. CBCGPBaseVisualCtrl: added new static method CloseActivePopup - closes active popup (created by CBCGPBaseVisualCtrl::CreatePopup) visual control. CBCGPShellList, CBCGPShellBreadcrumb and CBCGPShellTree: added a new virtual method GetShellItemAttributes (by default, we're calling g_pShellManager->GetItemAttributes here). Override this method if you wish to optimize shell item attributes reading. CBCGPGraphicsManager: implemented native MFC serialization (using CArchive) for the following classes: CBCGPColor CBCGPBrush CBCGPStrokeStyle CBCGPTextFormat. Please take a look at PropertyGridMDIDemo sample to see how to serialize graphics manager data. Examples and Samples BCGPCalendarDemo: added auto-hide scroll bars demonstration (new option in the View menu). BCGPChartExample: added 3D chart perspective by the mouse wheel demonstration. BCGPControls: added auto-hide scroll bars demonstration (added new toolbar button). BCGPDigitalDashboard: added auto-hide scroll bars in visual container demonstration. BCGPExplorer: demonstrates how to improve Shell list performance by overriding GetShellItemAttributes method in CBCGPShellList-derived class. BCGPMSOfficeDemo: added auto-hide scroll bars demonstration (new option in "Options" dialog). BCGPVisualStudioGUIDemo: added auto-hide scroll bars demonstration (new option in "Options" dialog). PropertyGridMDIDemo: added demonstration how to save the chart in MFC document archive and load it from the file. ToolBoxDemo: added demonstration how to show/hide specific toolbox buttons and pages. WinUITilesDemo: added auto-hide scroll bars in WinUI Tiles control demonstration. Fixes BCGPGLOBAL_DATA::DrawParentBackground: addressed possible recursive call to this method. CBCGPCaptionBar: addressed issue with a hidden link accessible by mouse. CBCGPCheckListBox: addressed issue with drawing check box in some visual themes. CBCGPMDIChildWnd: addressed issue with incorrect backstage view behavior when torn-off MDI child is activated from the Windows task bar. CBCGPMenuBar: addressed issue with incorrect keyboard navigation when menu bar has separator(s) between the menu items. CBCGPRibbonEdit: fixed incorrect edit control position when ES_RIGHT style is specified. CBCGPTasksPane: addressed issue with incorrect controls layout after group expanding/collapsing transition is finished. CBCGPToolbarEditBoxButton: addressed issue with incorrect button bounds when text label is located on the bottom. CBCGPFileDialogEx: fixed bug with missing ZIP files in the file list pane. CBCGPIPAddressCtrl: addressed issue with deleting embedded edit controls. CBCGPDateTimeCtrl and CBCGPDurationCtrl: addressed issue with a spin control flickering when control is being moved/resized. CBCGPScrollDialog: addressed issue with restoring dialog placement. CBCGPDropDownToolbarButton: the icon is correctly rendered now when toolbar large icons mode is enabled. CBCGPEditCtrl: addressed issue with printing text with a dark background. CBCGPVisualManager::GetLinearGaugeColors returns correct (contrast) color in the high-contrast mode now. CBCGPChartAxis: addressed issue with incorrect calculation of the huge (exceeded in64) axis values. Dialogs and forms: improved info tips drawing performance when the dialog layout is being changed.