Release Notes BCGControlBar Professional Edition Version: 27.0. Released: 01/24/2018 Added SVG images support. Please read the following article which describes advantages of using SVG in your applications, tutorials and references: Vector Graphics. All library internal images were converted to SVG format and Application Wizards include a new option: create a project with SVG icons (see screenshot). The following new classes were added to the product: CBCGPSVGImage: implements an SVG image loading and rendering. CBCGPSVGImageList: implements a list of SVG images ("sprite"). Please take a look at new SVGViewDemo sample application (see screenshot) to see this new implementation in action. For your convenience, our designers prepared a set of SVG icons that you may freely use in your applications! Please find them in Graphics folder - there are 40 16x16 and 20 32x32 basic icons, hope you'll like them! Ribbon Bar CBCGPRibbonMainButton::SetImage and CBCGPRibbonMainButton::SetScenicImage methods have a new, optional parameter 'bDPIAutoScale'. Set it to TRUE if you wish to scale application button's image according to current DPI. Ribbon Bar controls key tip is not limited by 2 characters now. New method CBCGPRibbonBar::SetTabButtonIcons allows to specify icons for controls located on the right side of the tabs area. New virtual method CBCGPRibbonBar::PrepareCustomLabel allows to change the command label appearing on the customization dialogs. The default appearance is " (custom)". CBCGPRibbonBar: added SVG icons support. Ribbon Designer supports SVG images now. Optimized backstage view header redrawing. Docking Panes CBCGPOutlookWnd: added SVG icons support. CBCGPTasksPane: added SVG icons support. CBCGPToolBar: added SVG icons support. Visual Manager and Themes CBCGPVisualManager2016: improved non-client colors in Office2016 Black theme. CBCGPVisualManager2016: improved appearance of Outlook bar page buttons. Improved appearance of checked Ribbon buttons in Office 2013/2016 themes. Added new global member CBCGPVisualManager::m_strStylePath that allows to specify style DLLs location. Grid and Report Controls New message BCGM_GRID_HEADER_CHANGED is called on any changes on grid header, when columns are inserted, deleted or column position, size or visibility are changed. Added new virtual method IsReportCtrl(). Grid control: fixed print preview issue. Now the selected printer font is consistent in print preview mode and the print out. Calendar and Planner Implemented ability to display an item's tooltip in bounds of the whole appointment: SetToolTipWholeArea and IsToolTipWholeArea methods were added to CBCGPPlannerManagerCtrl class. Implemented new view type: BCGP_PLANNER_TYPE_WEEK_DAYS (see screenshot). This view can be used instead of the standard week-view to show the week in multi-column mode (like work-week view). CBCGPPlannerManagerCtrl: added new attribute "Schedule Time Delta Day". Setting it to TRUE allows to display more appointments on the screen without scrolling the planner view. Call new method CBCGPPlannerManagerCtrl::SetScheduleTimeDeltaDay to set "day" scale instead of the standard "time" scale (60, 30, 20, ... minutes). Schedule View columns are automatically stretched now to occupy all free space. Controls Added new method CBCGPBaseTabWnd::SetImageAutoScale. Call this method before CBCGPBaseTabWnd::SetImageList to automatically scale tab icons according to current DPI. CBCGPButton: added SVG image support. CBCGPDateTimeCtrl: implemented "read-only" mode. Call new method SetReadOnly to enable/disable this mode or IsReadOnly to check the mode. CBCGPEdit: added button's tooltip. Call new method SetBrowseButtonToolTip to specify the tooltip. CBCGPHeaderCtrl: implemented ability to align header item text on top. SetColumnTextVertTopAlign and IsColumnTextVertTopAlign methods were added. CBCGPComboBox: improved appearance of icons in the disabled control. CBCGPTreeCtrlEx: optimized control items adding performance. CBCGPComboBox: added ability to use a custom edit control - override new virtual method GetEditCtrl and return a reference to CBCGPEdit-derived object. CBCGPStatic: added a picture support. Call new method CBCGPStatic::SetPicture to display BMP, PNG or SVG image inside the control. Graphics Manager Added new class CBCGPGeometryGroup: implements a group of the geometries. CBCGPBrush: added gradient stops support (D2D and GDI+ only). SetLinearGradientStops, SetRadialGradientStops and GetGradientStops methods were added. CBCGPBrush: added color transformation methods: AddaptColors: translates brush color(s) InvertColors: inverts brush color(s) ConvertToGrayScale: converts brush color(s) to gray scale Simplify: simplifies brush color(s) - all "non-empty" colors are converted to white CBCGPStrokeStyle: implemented custom dashes support; SetDashes method was added. Implemented GDI+ graphics manager - CBCGPGraphicsManagerGdiPlus. This class will be automatically used when your application is launched on system where D2D is not available, e.g. Windows XP. If you need to force GDI+ manager usage, please specify BCGP_GRAPHICS_MANAGER_GDI_PLUS in CBCGPGraphicsManager::CreateInstance method. Miscellaneous libpng (used for PNG images rendering) was upgraded to version 1.6.34. Added new method BCGPGLOBAL_DATA::GetCommonIcon: this method returns an Office-style icon such as Warning, Question, Error or Info. These icons can be used in Message Boxes or user's application. CBCGPMessageBox: added Office-style icons (see screenshot). If you wish to use native Windows icons, simply set CBCGPMessageBox::m_bUseNativeIcons to TRUE. CBCGPPngImage class doesn't use ATL's CImage class by default anymore: libpng is used in all Visual Studio versions. If for some reason you don't want to use libpng, please uncomment BCGP_USE_CIMAGE_FOR_PNG in BCGCBProConfig.h and rebuild the library. CBCGPToolBarImages supports SVG images now (in the previous product versions only BMP and PNG formats were supported). Toolbar Editor supports SVG images now. Added new definition BCGP_USE_EXTERNAL_ZLIB to BCGCBProConfig.h: uncomment it if you're using external ZLIB in your project. BCGPGLOBAL_DATA::SetDPIAware method was adapted to Windows 10 Creators Update (Build 1709) changes. Fixes Fixed some problems with compilation in Visual Studio 2017 with /permissive- compiler option. CBCGPPropertyPage: fixed problem with a default button appearance on the themed wizard page in "aero" mode. Dialogs: fixed info tip positions after changing controls layout. CBCGPListBox: fixed problem with WM_COMPAREITEM message processing in CBCGPListBox-derived classes. CBCGPPropList: improved appearance of read-only date/time property. CBCGPRadialMenuObject: fixed bug with radial menu size after animation in high-DPI systems. CBCGPRibbonEdit: fixed bug with setting read-only mode after installing latest Windows 10 updates. CBCGPTasksPane: fixed bug with incorrect MSAA behavior when task pane's embedded toolbar is re-created. CBCGPToolBarImages: improved image pre-processing mechanism. GetPixel/SetPixel methods are no more called in case of 24 or 32 bpp images. If you're still using 16 or 256 colors images, please consider to upgrade them to higher resolution to prevent application loading time problem under Windows 10 with latest updates. CBCGPTasksPane: fixed bug with task label vertical alignment is some visual themes. CBCGPWinUITiles: fixed bug with tiles layout after deleting all tiles in group. CBCGPGridCtrl: fixed color issues in report control with theme colors specified by m_ColorData. CBCGPGridCtrl: fixed drawing bug in multiline header: the merged header items with FreezeColumns feature and horizontal scrolling. CBCGPHeaderCtrl correctly draws center/right-aligned icons now. CBCGPRibbonBar: fixed bug with a caption redrawing after backstage horizontal scrolling in some visual themes. CBCGPGridCtrl: fixed some problem with a grid scrolling during selection by mouse. CBCGPScrollBar: fixed some issues with using control in the touch-screen environment.