BCGControlBar Library Professional Edition MFC v30.4

為 Microsoft Visual Studio 2017 和 2019 引入新的 Application Wizard(應用程式嚮導),以簡化新應用程式的創建。
March 11, 2020 - 17:14


  • Introduced new Application Wizard for Microsoft Visual Studio 2017 and Microsoft Visual Studio 2019. This Wizard dramatically simplifies creation of new, BCGControlBar-based applications. You can create Visual Studio, Office or Explorer-like applications in a few seconds. If for some reason you prefer to use a classic (HTML-based) Application Wizard, you can specify this option in the Integration Wizard settings.
  • Ribbon Bar
    • CBCGPBaseRibbonElement: new method IsOnActiveFrame tells whether the ribbon control is located on the active (focused) frame.
    • CBCGPBaseRibbonElement: new method IsOnZoomedFrame tells whether the ribbon control is located on the maximized (zoomed) frame.
    • CBCGPRibbonSlider: added support for "Zoom In" ("+") / "Zoom Out" ("-") button tooltips. Method CBCGPRibbonSlider::SetZoomButtons has 2 new optional parameters 'lpszZoomInTooltip' and 'lpszZoomOutTooltip'.
    • Improved keyboard navigation support: implemented navigation by Tab key from the edit box / combo box control which was activated by the mouse click.
    • CBCGPRibbonPaletteButton (Ribbon gallery): improved high-DPI support.
    • Ribbon backstage view: added support for commands/views located at bottom of the left-side pane. Methods CBCGPRibbonBackstageViewPanel::AddCommand, CBCGPRibbonBackstageViewPanel::AddView, CBCGPRibbonBackstageViewPanel::AddPrintPreview and CBCGPRibbonBackstageViewPanel::AddRecentView have new, optional parameter 'bAddToBottom' (default value is FALSE).
    • CBCGPRibbonCaptionCustomButton: new virtual method OnDrawContent provides easy way to customize the Ribbon caption button appearance.
    • Ribbon Designer: added slider zoom button tooltips support and backstage view bottom items.
  • Chart Control
    • Simplified chart text label customization process: new methods OnFormatDataPointLabelText and OnFormatDataPointTableText were added to CBCGPChartVisualObject class.
    • Chart data table: improved table cells horizontal scrolling (zoom/pan modes).
    • Added new flags specifying thumbnail drawing options:
    • Added a new type of polar chart - polar bar chart. The range (width) of a bar is set in degrees using Y1 component. The type of polar chart can be specified using CBCGPChartPolarSeries:SetPolarType(PolarSeriesType type, BOOL bRedraw = TRUE) method where type can be either PST_NORMAL or PST_BAR.
    • Polar and radar charts: improved diagram layout - the chart diagram space is now optimized.
    • Pyramid and funnel charts: improved hit-testing of the chart elements, such as data points.
  • Gauge Controls
    • CBCGPTextGaugeImpl: implemented a "trailing sign" support. Usually, "Trailing sign" is a small-size character located right of text and it's used for some indication such as percentage or temperature. New method CBCGPTextGaugeImpl::SetTrailingSign allows to specify the trailing sign text and appearance.
    • CBCGPStaticGaugeImpl::StartFlashing has a new optional parameter nCount which specifies a number of the flashings. If this parameter is 0 (default), the gauge flashing will be infinite.
    • CBCGPImageGaugeImpl: added DPI support. The class constructor and SetImage method have a new, optional parameter bScaleByDPI. Set it to TRUE if you wish to make gauge DPI-aware.
    • CBCGPColorIndicatorImpl: added DPI support for the default-size color indicators. The class constructor has a new, optional parameter bScaleByDPI.
    • CBCGPCircularProgressIndicatorImpl: added "pinned percentage sign" support. To enable this feature, you have to specify new member of CBCGPCircularProgressIndicatorOptions structure m_strProgressLabelTrailingSign.
    • CBCGPCircularProgressIndicatorImpl: new methods FlashProgressLabel and FlashLabel allow to make the text labels flashing.
  • Grid and Report Controls
    • Added ability to include groups to the filtering results: CBCGPGridCtrl:EnableFilterBar has a new optional parameter bIncludeGroups.
    • Improved grid row height API: new methods SetCustomRowHeight and SetCustomLargeRowHeight were added to CBCGPGridCtrl class.
  • Controls
    • CBCGPSliderCtrl: added new virtual method OnPosChanged. This method is called after thumb position changing.
    • CBCGPListCtrl: added LVM_SORTITEMSEX message support. By default, the control is using LVM_SORTITEM sorting message, but if you wish to use LVM_SORTITEMSEX instead, you've to call a new method CBCGPListCtrl::EnableSortEx with parameter bEnable = TRUE.
    • CBCGPEdit: added support for a custom context menu. You can override a new virtual method OnEditCtrlContextMenu in your CBCGPWinApp-derived class in order to display a custom context menu for specific edit box or for all edit boxes in your application. Please take a look at EditBoxDemo to see this feature in action.
    • CBCGPGroup: added new virtual method GetCheckBoxSize. Override this method if you wish to create a group checkbox with a custom size.
  • Graphics Manager
    • CBCGPEllipse: new method PtInEllipse tells whether a specified point is located inside the ellipse.
    • CBCGPImage: added DPI support. The class constructor has a new, optional parameter bScaleByDPI. Set it to TRUE if you wish to make an image DPI-aware.
    • CBCGPGraphicsManager: improved drawing of 3D Funnel slice.
  • Edit control
    • CBCGPEditCtrl::SetCaret method has a new, optional parameter bCleanUpSelection. If you set this parameter to TRUE, the current selection will be cleaned-up.
    • CBCGPEditCtrl::ReplaceAll implementation has been significantly improved: replacing mechanism is much more fast and efficient now.
  • Gantt Chart
    • CBCGPGanttView: added a new, virtual method OnChartItemResizing. This method is called by the framework when a Gantt chart item is being resized.
    • Added new registered message BCGM_GANTT_CHART_ITEM_RESIZING. This message is sent to owner of Gantt control when the chart item is being resized.
    • CBCGPGanttChart: improved high-DPI support. All Gantt chart elements are correctly scaled now.
    • New method CBCGPGanttChart::SelectAllItems selects all Gantt chart items.
    • CBCGPGanttControl::SetProgressColumnIndex has a new, optional parameter bDisplayProgressBar. If this parameter is TRUE, a progress cell will be displayed with background progress bar.
    • CBCGPGanttControl: a group is rendered with a progress indication now.
  • Miscellaneous
    • CBCGPAnimationManager: new method GetFlashAnimationStep returns a current flash animation step.
    • CBCGPCalculator: '=' button is located now in the bottom-right corner and has a special look.
    • CBCGPMDIFrameWnd::CloseLightBox and CBCGPFrameWnd::CloseLightBox methods have a new, optional parameter bDisableAnimation. When this parameter is TRUE, the light box will disappear without transition effect.
    • Added exception handling for broken (incorrect) PNG files loading.
    • CBCGPTasksPane: implemented footer control. A new member m_wndFooter has been added to CBCGPTasksPane class. Please take a look at TasksPane sample to see this feature in action.
    • CBCGPFindReplaceDialogThemed: when the themed find/replace dialog is created with parameter bFindDialogOnly = FALSE, "Up" and "Down" controls will be not displayed (as in standard Windows Find/Replace dialog). If for some reason you want to keep on old behavior (display up/down controls in both modes), simply set a new global member CBCGPFindReplaceDialogThemed::m_bHideUpDownInReplaceMode to FALSE.
  • Examples and Samples
    • BCGPEdgeDemo: added pinned lightbox pane demonstration.
    • BCGPGanttDemo: added demonstration of the grid cell with background progress indicator.
    • BCGPGaugesDemo: added demonstration of pinned percentage sign in circular progress gauge and DPI-scaling in static gauges (image and color indicators).
    • BCGPMSOfficeDemo: added demonstration of bottom-located backstage view items and slider zoom button tooltips.
    • BCGPShopDemo: improved example appearance in the high-DPI mode.
    • EditBoxDemo: added a custom context menu demonstration.
    • ListCtrlDemo: demonstrates a new, extended sorting.
    • TreeCtrlDemo: added demonstration of the filter bar with group support.
    • BCGPChartExample: implemented group thumbnail views and added 3 new views: "Polar Bar", "Pyramid with Grouped Smaller Slices" and "Funnel with Grouped Smaller Slices".
    • TasksPane: added footer control demonstration.


  • Fixes
    • CBCGPButton: addressed issue with incorrect rendering when button has a description but doesn't have a text label.
    • CBCGPCalendar: addressed issue with calling SetMinDate and SetMaxDate before control creation.
    • CBCGPBreadcrumbImpl: addressed some issues with control and item menus appearance in the right-to-left mode.
    • CBCGPStatic: addressed issue with drawing control with SS_ETCHEDFRAME style.
    • CBCGPShellManager: addressed issue with incorrect path processing when path name is starting from the double backslash.
    • CBCGPFileDialogEx: addressed issue with opening file without typed extension when a folder name contains one or more dots.
    • CBCGPDropDownToolbarButton: addressed issue with rendering of selected image in the high-DPI mode.
    • CBCGPLightBoxDialog: addressed issue with activation by the mouse click when a top-level frame is inactive.
    • CBCGPMDIChildWnd: the panes docked inside the frame have a correct layout now when the child frame is located in MDI tabbed group.
    • CBCGPGroup: addressed issue with displaying a group name when a text contains the ampersand character.
    • CBCGPMessageBox: addressed issue with calculating size of the custom button with long text.
    • CBCGPPropertySheet: when SetIconsList method is called for the 2-nd time, the previously created icons list is destroyed now.
    • CBCGPSVGImage: addressed some issues with reading and applying linear/radial gradients.
    • CBCGPRibbonProgressBar: addressed issue with incorrect size of the vertically-oriented control located on the Quick Access Toolbar.
    • CBCGPRibbonBar: addressed issue with appearance of the scroll button under embedded control such as combo box or edit box.
    • CBCGPRibbonColorButton: addressed issue with a color box location when control has a large icon.
    • CBCGPNumericIndicatorImpl: addressed issue with incorrect clipping during a digit transition effect when gauge is placed inside the visual container or created as sub-gauge.
    • CBCGPLinearGaugeImpl: a default size of gauge pointer is DPI-aware now.
    • CBCGPEditCtrl: addressed some issues with selection in GoToLine and GoToMarker methods.
    • CBCGPGridCtrl: addressed issue with frozen columns created along with merged cells.
    • CBCGPFontComboBox: addressed issue with incorrect row height calculation for some fonts.
    • CBCGPRibbonFontComboBox: addressed issue with incorrect scroll bar behavior in case of huge amount of fonts.
    • CBCGPEditCtrl: addressed issue with vertical scrolling by the mouse wheel in case when the whole text fits the editor page.
    • CBCGPInfoBoxRenderer: addressed issue with a custom icon with non-standard (different from 32x32) size drawing.
    • CBCGPToolbarEditBoxButton: addressed issue with the edit control height in DPI 100% mode.
    • CBCGPToolbarDateTimeCtrl: addressed issue with date/time picker vertical alignment.
New Application Wizard in BCGControlBar Library Professional Edition MFC.

BCGControlBar Library Professional Edition MFC

用類似於 Microsoft Office、Microsoft Visual Studio 和其他知名產品的使用者介面創建應用程式。


Live Chat現在與我們的BCGSoft 專家即時聊天詢問。