BCGSuite for MFC Version: 31.3. Released: 6/15/2021 Chart Control BCGPChartHitInfo::HitInfoTest has a new flag "HIT_DATA_AREA" (series area: line or closed area) (except splines). CBCGPChartSeries class has a new method HitTest(const CBCGPPoint& pt, BCGPChartHitInfo* pHitInfo, UINT uiHitInfoFlags) - hit-test for data labels, data points and data area. uiHitInfoFlags can be combination of HIT_DATA_POINT, HIT_DATA_LABEL and HIT_DATA_AREA. Improved data points hit-testing for 3D charts and bubble charts. MSAA and CodedUI Tests CBCGPGanttChart: added MSAA support for all Gantt chart objects such as header, grid and items. Edit control Added "Zoom" gesture event support. If edit control scaling (zooming) is available, a customer will be able to zoom-in or zoom-out edit control content on the touch screen using zoom gesture. Implemented Edit control scaling (see screenshot). The following new methods and notifications were added to CBCGPEditCtrl class: EnableZoom: enables or disables editor zoom IsZoomEnabled: tells whether zoom is enabled SetScale: set the current editor scale GetScale: get the editor scale SetScalingRange: specify the editor scaling range GetMinScale and GetMaxScale: obtain the editor scaling range BCGM_ON_EDITSCALECHANGED: notify owner about editor scale changing CBCGPEditView: a new virtual method OnScaleChanged is called when the editor scale was changed. Please take a look at BCGPVisualStudioGUIDemo example to see this new feature in action. Improved Edit control "modified" flag implementation: BCGM_ON_MODIFIEDCHANGE: this new registered message notifies owner about "modified" flag changing. CBCGPEditCtrl::SetModified method is a virtual now. CBCGPEditView correctly specifies a document's "modified" flag (e.g., if user undoes all editor actions, the document will be unmodified again). Miscellaneous CBCGPCircularGaugeImpl: the first (single) pointer can be deleted now (by calling RemovePointer method) and circular gauge can be created as pointer-less. CBCGPGridItem::SetValue allows now to change the variant type (e.g., you may pass "123" string and, if item is numeric, the value will be changed to 123). CBCGPSVGImageList: added new method GetLastXMLError. Call this method to obtain a recent XML parsing error if SVG contains an incorrect XML and image cannot be loaded. If a global flag CBCGPSVGImage::m_bTraceProblemsDefault is TRUE, the error will be automatically printed in the Debug Output window. CBCGPDiagramConnector: added a new method Disconnect. Call this method to disconnect a connector from a diagram object. It removes all links between connector and diagram object. The placements of a connector and a diagram object remain unchanged. Examples and Samples BCGPChartExample: "Interactive Chart" view demonstrates improved hit testing. BCGPControls: added demonstration of how to switch between 2 and 4 digits in year field typing ("Date/Time control" view). BCGPGaugesDemo: added demonstration of how to remove all pointers from the circular gauge ("Circular gauge elements" view). BCGPVisualStudioGUIDemo: added edit control scaling demonstration. Fixes CBCGPGaugeImpl: addressed some issues with moving pointer (needle) in the interactive mode when gauge has multiple number of pointers. CBCGPComboBox: addressed a vertical scroll bar drawing issue when control has CBS_SIMPLE style. CBCGPDateTimeCtrl: a drop-down calendar is not opened again when user clicks drop-down button and calendar is already opened. CBCGPGlobalUtils: ProcessCtrlEditAccelerators correctly processes now keyboard accelerators with the same character as in standard keyboard shortcut (such as Ctrl+A). CBCGPVisualContainer: addressed issue with incorrect container's objects position during moving when container has scrollbars. CBCGPDiagramTextDataObject: addressed issue with editing empty label. CBCGPGanttChart: addressed some issues with drawing Gantt chart header.