BCGControlBar Professional Edition Version: 27.2. Released: 4/9/2018 Introduced new Circular Progress Indicator gauge (see screenshot). This gauge implements a circular progress control functionality and can be created either as "standard" (with percentage) or "marquee" (infinite) mode. The following new classes were added: CBCGPCircularProgressIndicatorImpl: windows-less object which can be used inside the visual container. CBCGPCircularProgressIndicatorCtrl: control that can be added directly to dialog box or other windows. CBCGPCircularProgressIndicatorOptions: circular progress indicator options (such as dimensions, styles, colors and others). CBCGPCircularProgressIndicatorColors: circular progress indicator color theme. CBCGPCircularProgressIndicatorRenderer: window-less helper; allows to draw the indicator inside other controls such as buttons or tabs (see screenshot). Please take a look at BCGPGaugesDemo example ("Circular Gauges | Progress Indicator" page) to see this new gauge in action. Improved Windows Gestures support: Added gesture pan support to CBCGPFormView. Gantt chart window can be horizontally scrolled now using gestures. Improved gesture pan support in the Grid in-place editing controls. Gesture zoom event is used for the Grid control zooming in/zooming out. Property grid can be vertically scrolled now using gestures. Added gesture pan support to Ribbon backstage view. The Ribbon bar can be created now as a child control of the dialog (see screenshot). All Ribbon bar features (except few limitations) are working properly in this mode. The limitations include inability to minimize the Ribbon, replace the parent window caption and using QAT. Please take a look at new sample RibbonDialogDemo to see this mode in action. Ribbon Bar CBCGPBaseRibbonElement : added a new virtual method CanBeResizedInGroupVertically. Override it if you wish to keep your custom Ribbon control height when this control is located inside group or Quick Access Toolbar. Increased the Quick Access Toolbar height in some visual themes (to make a QAT look more close to MS Office applications). CBCGPRibbonMainPanel: added a new virtual method GetExtraHeight(). Override this method if you wish to increase height of the Ribbon application menu. Ribbon Designer: implemented ability to specify application button custom text label. MDI Windows and Tabs CBCGPMainClientAreaWnd: standard MDI children layout messages (WM_MDICASCADE, WM_MDITILE and WM_MDIICONARRANGE) are blocked now when MDI tabbed groups are active. Improved MDI "Windows" menu: instead of using a standard Windows menu, we're building now a list of windows across all MDI frames (both main and torn-off). If for some reason you need to keep an old Windows menu mechanism, please set m_bUseWindowsMenu to TRUE in your CMainFrame class constructor. All MDI torn-off frames will be automatically re-attached to the main frame when MDI tabbed groups are switched-off (tear-off MDI windows can work with MDI tabbed groups only). A new CBCGPMDIFrameWnd::ReattachTearOffWindows method allows to reattach all MDI torn-off frames back to the main application frame. Gauge Controls CBCGPCircularGaugeImpl: added a new virtual method OnDrawLevelBar. Override it if you wish to customize the level bar appearance. CBCGPBaseVisualCtrl:: CreatePopup has a new, optional parameter nFlags: set it to BCGP_VISUAL_POPUP_DONT_CLOSE_ON_MOUSE_CLICK if you don't wish to close the popup window by mouse button click. CBCGPSwitchImpl: implemented visual manager theme support (see screenshot). New methods SetVisualManagerTheme and IsVisualManagerTheme were added to this class. In addition, CBCGPVisualManager has a new virtual method GetSwitchColors. CBCGPCircularGaugeImpl: added equidistant labels support. New methods EnableEquidistantLabels and IsEquidistantLabels were added to this class. Grid and Report Controls Updated Windows Gestures support. Updated adding and removing items in row "on the fly". New methods CBCGPGridRow::InsertItem, CBCGPGridRow::RemoveItem were added. Implemented grid items Bold font support. New methods CBCGPGridRow::SetBoldFont and CBCGPGridRow::IsBoldFont were added. Controls Tab control is renamed properly now when user clicks with left mouse button outside in-place edit control. CBCGPButton: icon rendering code was moved to new virtual method OnDrawImage. CBCGPColorComboBox can display a list of application "accent" colors (see screenshot): SetAccentColors method was added. You may specify the accent color names by calling CBCGPColorComboBox::SetAccentColorName or obtain them using CBCGPColorComboBox::GetAccentColorName. Please take a look at ComboBoxDemo sample to see this feature in action. CBCGPMenuButton: new virtual method OnDrawMenuArrow allows to customize the button's drop-down arrow appearance. CBCGPTreeCtrlEx: added support for TVIS_BOLD flag (see screenshot). Graphics Manager New methods CBCGPColor::Mix and CBCGPBrush::Mix allow to combine two colors using a specific proportion. CBCGPBrushGradientStop: added default values to the constructor. Miscellaneous Method CBCGPChartVisualObject:: NeedDisplayAxes is a virtual now. Improved full-screen appearance: the full-screen window doesn't have non-client area and developer can hide "Close" toolbar by calling new method EnableFullScreenCloseToolBar (CBCGPFrameWnd and CBCGPMDIFrameWnd classes). New method CBCGPGlobalUtils::IsPlacedOnActiveMenu tells whether a control is located on the active popup menu/window. CBCGPSVGImageList: improved SVG sprite loading and parsing algorithm. Each icon is loaded now as separate SVG, therefore there is no ambiguous styles issue (when source SVG icons have the same style names) anymore. Examples and Samples ColorThemeToolbar: this sample was redesigned in order to demonstrate how to adapt SVG-based toolbars to various color themes (see screenshot). LightBoxDemo: illustrates usage of CBCGPCircularProgressIndicatorCtrl in the light box-style dialog (see screenshot). New sample RibbonDialogDemo (see screenshot) demonstrates how to create the Ribbon Bar on the dialog box. TabControl: added CBCGPCircularProgressIndicatorRenderer usage demonstration (see screenshot). TreeCtrlDemo: added TVIS_BOLD style demonstration. MDITabsDemo: added demonstration of MDI child tear-off support. BCGPGaugesDemo: added new view ("Circular Gauges | Progress Indicator" that illustrates a Circular Progress Indicator). Fixes CBCGPLightBoxDialog: the title is properly updated now when the window caption was changed using WM_SETTEXT message. CBCGPHeaderCtrl: addresses issue with right-aligned text appearance: in the previous version the label was too close to the right side of the header control item. CBCGPHotSpotImageCtrl: addresses issue with control appearance in the right-to-left layout. CBCGPListBox: addresses problems with LBS_MULTICOLUMN control style. If this style is applied, support of item descriptions, captions, tab stops, indentions is disabled now. CBCGPPropertySheetCtrl: addresses issue with incorrect page border appearance in non-themed property sheet with a standard Windows tab control. In the previous product versions, the page exceeded control size on the first displaying. Addresses issue with pane dividers, pane dragging rectangles and MDI tab group dividers appearance during dragging/resizing. The redesign was caused by incorrect working of the standard Windows dragging rectangles mechanism in the latest OS builds (user sees annoying rectangle trails). CBCGPMenuButton: addresses issue with control resizing when parameter bCalcOnly of SizeToContent method is TRUE. CBCGPRibbonEditCtrl: addresses issue with double-sending notification when user presses Enter on the popup Ribbon panel. CBCGPVisualManager2007: fixed text label color bug in the scenic (rectangular) Ribbon application button. CBCGPToolBarImages::SetSingleImage correctly specifies the image size in case of single SVG icon. Addresses issue with appearance of the context help icon on the dialog/frame caption in some visual themes. CBCGPToolBar: addresses problem with unexpected closing dropped-down menu when users moves the mouse cursor to another button without menu. CBCGPRibbonBar: addresses issue with improper hiding of some controls when application mode is switched. In the previous versions some Ribbon elements with embedded control (such as edit box or combo box) remained visible even when they were filtered-out by application mode. CBCGPScrollBar: addresses issue with disabling scrollbar thumb in combo box drop-down list in specific cases. CBCGPGridCtrl: addresses issue with incorrect column width after zoom-in/zoom-out action (when column auto-sizing is specified).