
Adds SVG image support, plus new calendar view to display the week in multi-column mode.
Features
- Added SVG images support. 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").
- 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 output.
- Calendar and Planner
- Implemented new view type: BCGP_PLANNER_TYPE_WEEK_DAYS. 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.
- Implemented ability to display an item's tooltip in bounds of the whole appointment: SetToolTipWholeArea and IsToolTipWholeArea methods were added to CBCGPPlannerManagerCtrl class.
- Controls
- 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.
- 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.
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.
- CBCGPRadialMenuObject: fixed bug with radial menu size after animation in high-DPI systems.
- 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.
- CBCGPGridCtrl: fixed some problems with a grid scrolling during selection by mouse.
- CBCGPScrollBar: fixed some issues with using control in the touch-screen environment.