
Adds Visual Studio 2019 Preview support, plus new themes.
Features
- Microsoft Visual Studio 2019 Preview support (retail product version only)
- The product Integration Wizard fully supports Visual Studio 2019.
- The source files are fully compliant with Visual 2019 C++ compiler.
- All our examples and samples were thoroughly tested with VS 2019.
- Implemented Visual Studio 2019-style visual manager.
- Added a new class CBCGPVisualManagerVS2019 (derived from CBCGPVisualManagerVS2013) and BCGP_VISUAL_THEME enumerator has 3 new members:
- BCGP_VISUAL_THEME_VS_2019_BLUE: VS 2019-style blue color theme.
- BCGP_VISUAL_THEME_VS_2019_LIGHT: VS 2019-style light color theme (very similar to VS 2017 light).
- BCGP_VISUAL_THEME_VS_2019_DARK: VS 2019-style dark color theme (very similar to VS 2017 dark).
- Added a new class CBCGPVisualManagerVS2019 (derived from CBCGPVisualManagerVS2013) and BCGP_VISUAL_THEME enumerator has 3 new members:
- Controls
- CBCGPButton: added BS_DEFCOMMANDLINK and BS_COMMANDLINK styles support. Please take a look at BCGPControls example to see this feature in action.
- CBCGPCalendar: added keyboard navigation support.
- CBCGPDateTimeCtrl and CBCGPDurationCtrl: added flat buttons support. New methods SetFlatButtons and HasFlatButtons were added to these classes. Please take a look at BCGPControls example to see this new look.
- CBCGPDateTimeCtrl: implemented dates range support. If developer specifies a pair of two date/time pickers as "related" (by calling a new method CBCGPDateTimeCtrl::SetRelated), a user will be able to select a dates range in the popup months calendars and selected dates are displayed in 2 related controls. BCGPControls example demonstrates this new feature.
- CBCGPListBox: added item tooltip when the list box is a property sheet navigation window and there is no enough space to display a whole page name.
- CBCGPSpinButtonCtrl: new public member 'm_bIsFlat' specifies whether control has a flat look.
- MSAA and CodedUI Tests
- CBCGPCircularProgressIndicatorImpl: added EVENT_OBJECT_VALUECHANGE notification upon progress value changing.
- Improved automation support in the gauge controls.
- CBCGPGridCtrl: added STATE_SYSTEM_INVISIBLE state for the hidden grid items.
- Miscellaneous
- Improved pane resizing cursors: instead of default MFC, new DPI-aware internal library cursors are used now for the docking pane resizing.
- Improved foreground color of highlighted link control.
- CBCGPCaptionBar: added new public member m_clrBarHyperlink. This attribute specifies a hyperlink foreground color. By default, the hyperlink's color is the same as rest of the caption bar text. See CaptionBarDemo sample application.
- CBCGPPageTransitionManager::SetPageTransitionEffect has a new, optional parameter 'bIsFirstPageTransition' (default value is FALSE). If this parameter is TRUE, the first page will appear with the specified page transition effect. Please take a look at PropSheetDemo sample to see this feature in action.
- CBCGPPopupWindow: added new member m_bIsTopMost (default value is TRUE). When this attribute is TRUE, the popup window is created with WS_EX_TOPMOST extended window style. Set it to FALSE in CBCGPPopupWindow-derived class constructor if you don't need to create this window as topmost.
- CBCGPGridCtrl: improved grid header appearance in some visual themes.
- Examples and Samples
- BCGPControls: demonstrates push button with BS_COMMANDLINK style and new date/time picker features.
- BCGPVisualStudioGUIDemo: added VS 2019 Blue theme.
- CaptionBarDemo: demonstrates how to specify a hyperlink custom text color.
- PropSheetDemo: demonstrates 1-st page transition effect.
- SplashScreenDemo: splash image was replaced with SVG (allows to use a single image for dark and light themes).
Fixes
- Addressed issue with changing MDI child window name after setting a corresponding MDI tab name.
- Dialogs and forms: addressed issue with cleaning-up control info tips when the dialog is being destroyed.
- CBCGPEdit: addressed issue with control redrawing after losing focus in some visual themes.
- CBCGPListBox: addressed issues with horizontal scrolling when control has LBS_MULTICOLUMN style.
- CBCGPWnd: code that disconnects accessibility clients was moved from the class destructor to WM_DESTROY message handler.
- CBCGPWorkspace: addressed issue with incorrect pinned files/folders registry path.
- CBCGPPropertySheetCtrl: addressed issue with incorrectly used control ID passed to DoCreateOnPlaceHolder method.
- CBCGPCaptionBar: addressed issue with changing text of the pane when user clicks the hyperlink.
- CBCGPEditCtrl: addressed issue with incorrect vertical scrolling when some text blocks are collapsed.
- CBCGPGridCtrl: addressed issue with destroying grid window during automation tests.