Skip Navigation LinksBCGSoft > Release Notes > Version Release Notes

Release Notes

BCGSuite for MFC

Version: 31.0. Released: 11/16/2020

  1. New class CBCGPMultiViewFrameWnd (derived from CBCGPFrameWnd) implements a multi-view single-document interface (SDI) (see screenshot). You have to derive your frame class from CBCGPMultiViewFrameWnd and override GetViewsCollection method (returns CBCGPMultiViewsCollection-derived object which hosts views collection). The following examples and samples are using now this new frame type:
    • BCGPChartExample
    • BCGPControls
    • BCGPDiagramDemo
    • BCGPGaugesDemo
    • GraphicsManagerDemo
    • OutlookMultiViews.
  2. Toolbars and Menus New class CBCGPToolbarLabel implements a static label located on the toolbar (see screenshot).
  3. Dialogs and Forms
    1. Implemented loading layout from MFC dialog resources: a new optional parameter bLoadMFCResourceLayout was added to CBCGPDialog::EnableLayout, CBCGPDialogBar::EnableLayout, CBCGPFormView::EnableLayout, CBCGPPropertyPage::EnableLayout and CBCGPPropertySheet::EnableLayout. Please take a look at ResizableForm sample to see this feature in action.
    2. Added optimized dialog/forms controls background erasing: if dialog/form has a default (not textured) background, you may call SetControlsDefaultDlgBackground method (added to CBCGPDialog, CBCGPFormView, CBCGPPropertyPage and CBCGPPropertySheet classes) and controls redrawing will be much faster. Please take a look at BCGPChartExample, BCGPControls and BCGPGaugesDemo to see this feature in action.
  4. Gauge Controls
    1. CBCGPCircularProgressIndicatorImpl: added ability to specify the progress angles. m_dblStartAngle and m_dblAngleRange new members were added to CBCGPCircularProgressIndicatorOptions structure.
    2. CBCGPTagCloud: implemented tags vertical scrolling (see screenshot).
    3. CBCGPNumericIndicatorImpl: implemented visual manager support (see screenshot). CBCGPNumericIndicatorColors structure constructor has a new optional parameter bIsVisualManagerTheme. In addition, CBCGPNumericIndicatorImpl has a new method SetVisualManagerTheme: call it to enable/disable visual manager theme for this gauge. A new method CBCGPVisualManager::GetNumericIndicatorColors allows to customize numeric indicator appearance in CBCGPVisualManager-derived classes. Please take a look at BCGPGaugesDemo example to see this feature in action.
  5. Grid and Report Controls
    1. Added grid item(s) pasting from external data sources (e.g., text copied in Microsoft Excel can be automatically pasted in our Grid) (see screenshot). If you need to implement data pasting from your custom clipboard format, please specify allowed clipboard format(s) and column delimiter (Tab character by default) by calling new method CBCGPGridCtrl::SetExternalClipboardFormats, override new virtual method CBCGPGridCtrl::GetExternalClipboardFormat and override SerializeFrom method in your CBCGPGridSerializeManager-derived class (override CBCGPGridCtrl::CreateSerializeManager to replace the default serialize manager).
    2. Improved Grid items search customization: the following new members were added to BCGP_GRID_FINDREPLACE_PARAM structure:
      • bStartFromCurrent - specifies whether a current item should be included in the search results.
      • nSearchColumn - specifies a zero-based Grid column index where search should be performed. If this member is (-1) (default value), all Grid columns will be used.
    3. Override a new virtual method CBCGPGridItem::IsOptionPrefix if you wish to customize drop-down item selection by keyboard.
  6. Controls
    1. CBCGPDateTimeCtrl: virtual method OnDateChanged is always called now when a check box is toggled.
    2. CBCGPEdit::EnableFileBrowseButton method has a new, optional parameter 'bOpenFileDialog'. When this parameter is FALSE, "Save File" dialog will be displayed when user clicks the Browse button.
    3. CBCGPSliderCtrl: method 'GetSelectionRect' is a virtual now.
    4. CBCGPTreeCtrlEx: added quick item search by keyboard. You can type an item name prefix and first matched tree item will be selected.
  7. Miscellaneous
    1. New method CBCGPEditCtrl::LoadXMLSettingsFromResource simplifies loading XML settings from application's resources.
    2. A shared Search icon is used in all edit controls now (CBCGPEdit and filter bar in CBCGPGridCtrl).
    3. Integration Wizard automatically creates VS user properties on machine with clean VS 2019 installation (without previous VS versions).
  8. Examples and Samples
    1. BCGPChartExample: the main frame is derived from new class CBCGPMultiViewFrameWnd. Added controls background optimized erasing.
    2. BCGPControls: added accent color chooser (Office 2013-2016 and Visual Studio 2013-2019 themes). The main frame is derived from new class CBCGPMultiViewFrameWnd. Added controls background optimized erasing. Add properties grid group with check box demonstration.
    3. BCGPVisualStudioGUIDemo, ChatEditor, EditorMarkers and MDIEditorDemo: added CBCGPEditCtrl::LoadXMLSettingsFromResource demonstration.
    4. GraphicsManagerDemo: the main frame is derived from new class CBCGPMultiViewFrameWnd.
    5. ResizableForm: demonstrates how to load layout data from MFC dialog resources.
  9. Fixes
    1. CBCGPChartAxisPolarX: addressed issue with text label clipping (when GDI+ graphics manager is being used).
    2. CBCGPBaseVisualCtrl: addressed issue with incorrect tooltip initialization when control is created dynamically (by calling CWnd::Create method).
    3. CBCGPEditCtrl: addressed issue with incorrect side-bar background color after changing visual themes.