BCGSuite for MFC v30.0

BCGSuite for MFC v30.0
Adds support for Visual Studio 2019, plus new features for chart, dialog, grid and report components.


Feature Release

May 30, 2019 - 8:42
BCGSuite for MFC v30.0
BCGSuite for MFC
  • Microsoft Visual Studio 2019 support:
    • The source files are fully compliant with Visual 2019 C++ compiler.
    • All examples and samples were thoroughly tested with VS 2019.
    • Evaluation version contains DLLs and libraries required for VS 2019.
  • Dialogs and Forms
    • A new class CBCGPScrollDialog implements a dialog box with scrolling support.
    • CBCGPFormView: added automatic scrolling when a newly focused control exceeds form's bounds.
    • CBCGPPropertySheet: added custom (owner-draw) notification badges support.
  • Chart Control
    • Implemented drawing of partially visible data points for a fixed interval width. New methods EnableAllUnitsOnFixedInterval and IsAllUnitsOnFixedInterval were added to CBCGPChartAxis class.
    • A new method ValueFromPoint was added to CBCGPChartTernaryAxis class.
    • CBCGPChartSurfaceSeries::ColorMode enumerator has a new member: CM_SERIES: when this mode is specified, each series is drawn in one color, which is defined by the currently selected theme or by user.
  • Grid and Report Controls
    • CBCGPGridItem: added hot-tracking support. Override a new 'IsHotTrackEnabled' method in your CBCGPGridItem-derived class and return TRUE to enable grid cell mouse tracking.
    • CBCGPGridCheckItem: added grid control modes ("Check box" or "Switch"). New methods SetMode and GetMode were added to this class.
    • Implemented a special row marker for the Grid cell editing mode: when row is selected and one of the cells is being edited, a special marker (pencil) is displayed on the left side. New method CBCGPGridCtrl::SetRowHeaderEditImage allows to specify this symbol. In addition, you may draw your own marker by overriding new method CBCGPGridCtrl::OnDrawRowHeaderEditImage.
  • Controls
    • CBCGPDateTimeCtrl: added WM_GETTEXT message processing. A result of this message is formatted date and time value of this control.
    • A new class CBCGPIPAddressCtrl implements themed IP Address control.
    • CBCGPListBox: new method MoveItem allows to change an existing list box item position (index).
    • New class CBCGPDragListBox implements a list box that allows users to move items within the control. Generally, this control is very similar to MFC CDragListBox, but it has visual themes support and other CBCGPListBox features such as pinned items support, color bars and others.
    • CBCGPSliderCtrl: introduced a new "progress" mode. In this mode, the channel area left of the slider's thumb is filled with some (default or user-defined) color.
    • CBCGPGroup: implemented group caption check box / radio button. When user "unchecks" the group, all controls located within the group bounds will be automatically disabled. SetCheckRadioStyle, GetCheckRadioStyle, SetCheck and GetCheck methods were added to CBCGPGroup class.
  • Miscellaneous
    • CBCGPCalendar::IsDateMarked method is virtual now: override it if you wish to mark specific calendar's date without calling MarkDates method.
    • New virtual method CBCGPCalendar::OnClickTodayButton is called when user clicks "Today" button on the calendar.
    • CBCGPEditCtrl: added visual theme-dependable bookmarks.
  • Examples and Samples
    • BCGPGridExample: added demonstration how to add switch control and custom rating control to the grid.
    • ListBoxDemo: demonstrates a new CBCGPDropListBox class.
    • PropSheetDemo: demonstrates owner-draw notification badges.
    • ResizableForm: added slider controls in a progress mode demonstration.
    • New sample application ScrollDialogDemo demonstrates how to use a new class CBCGPScrollDialog.
    • New sample application GroupBoxDemo demonstrates how to add check box and radio button to the group box control.
  • CBCGPGraphicsManagerD2D: addressed issue with incorrectly created stroke style in some cases.
  • CBCGPListBox: addressed issue with incorrectly painted list box item when control has "Right Align" style.
  • CBCGPPropertySheet: addressed issue with repainting of the separator located below the wizard buttons after property sheet was resized (Wizard mode only).
  • CBCGPStatic: addressed issue with calling SetPicture multiple times. In this case, a previously loaded image is properly cleared.
  • CBCGPSwitchCtrl correctly processes BCGM_ONSETCONTROLVMMODE registered message now.
  • CBCGPVisualManager: addressed switch control drawing issue in some visual themes.
  • Chart: addressed issue with incorrect surface series rendering in case of CBCGPChartSurfaceSeries::CM_SINGLE color mode when a number of color levels is 1.
  • CBCGPPlannerViewSchedule: addressed issue with incorrect size for all-day appointments that have duration of more than one day.
  • CBCGPPropertyPage: addressed issue with incorrect header width in some cases.
  • Visual container and control: fixed incorrect position and layout of the visual container items after printing or exporting.
  • CBCGPGridCtrl: addressed some issues with a grid horizontal scrolling.