BCGSuite for MFC Version: 33.3. Released: 11/7/2022 Gauge Controls CBCGPAnalogClock has the following additions and improvements: EnableSecondHand method has a new, optional parameter bSmoothMovement. When this parameter is TRUE and seconds needle is enabled, the needle is smoothly moved between the seconds tick marks. Please take a look at BCGPGaugesDemo example (Analog Clock view) to see this new feature in action. A new virtual method OnGetClockTime allows to specify a custom time. CBCGPGaugeImpl: implemented rounded corners support for several gauges. SetCornerRadius and GetCornerRadius methods were added to this class. You can specify the rounded shapes in the following gauge types: CBCGPColorIndicatorImpl (see screenshot) CBCGPLinearGaugeImpl (see screenshot) CBCGPNumericIndicatorImpl (see screenshot) CBCGPNumericIndicatorImpl: added digit type: BCGP_NUMERIC_DIGIT_SEGMENTS_7 (see screenshot) BCGP_NUMERIC_DIGIT_SEGMENTS_7_DOTS (see screenshot) BCGP_NUMERIC_DIGIT_SEGMENTS_16 (see screenshot) Call new method SetDigitType to specify this type and GetDigitType to obtain it. New gauges CBCGPNumericDateTimeIndicatorImpl and CBCGPDigitalClock implement a digital date/time indicator and digital clock (see screenshot). Please take a look at BCGPGaugesDemo and MMStyleExample examples to see these new gauges. CBCGPNumericIndicatorImpl: added new indicator state BCGP_NUMERIC_INDICATOR_STATE_NOTREADY (see screenshot). Visual Manager and Themes CBCGPMenuButton: improved separator appearance (split mode) in the various visual themes. In the previous versions the separator was always drawn as etched line. Improved appearance of expand/collapse button in various visual themes (OnDrawExpandingBox method). The colors returned by CBCGPVisualManager::GetNumericIndicatorColors method are more contrast now. Controls CBCGPInfoBoxRenderer: implemented info box printing (see screenshot). CBCGPButton: added a new global flag m_bDontSetCapture (FALSE by default). When this flag is TRUE, SetCapture/ReleaseCapture are never called and mouse tracking will be used instead. This flag is useful for applications sensitive for the mouse/keyboard capturing changes. CBCGPListBox: added new attribute AutoToolTips (SetAutoToolTips and GetAutoToolTips access methods). When this attribute is TRUE, tooltip will be automatically displayed near list box item with not fully-displayed (too wide) text. MSAA and CodedUI Tests CBCGPGroup with check box or radio button has correct default action and description. CBCGPCalculator: control name is "Calculator" now and control value is the same as displayed formatted text. CBCGPInfoBoxCtrl returns the info box text as accessibility name. Improved accessibility support for Calendar (Planner) control. Edit control Implemented ability to toggle comments around selected text using single typed character (e.g. '/' in C++ language). The easiest way to enable this feature is adding a new tag CommentString to your XML settings file. Alternatively, you may call a new method CBCGPEditCtrl::EnableCommentingSelectedText. In addition, the following new methods were added to CBCGPEditCtrl class: IsCommentingSelectedTextEnabled CommentSelectedText CommentText GetCommentChars Please take a look at BCGPVisualStudioGUIDemo example to see this new feature in action. Added a new method HasSelection: this method tells whether some text is selected. Miscellaneous Stdafx.cpp/.h files were renamed to BCGPStdAfx.cpp/.h (to avoid possible incorrect precompiled header files references in user application). CBCGPBaseVisualObject: a new virtual method OnSystemSettingChange is called when parent window is receiving WM_SETTINGCHANGE message. CBCGPLightBoxDialogOptions has a new member m_bDisableParentWindow (default value is FALSE). When this attribute is TRUE, the whole parent frame is disabled and grayed out, so user is not able to resize or move it (see screenshot). Please take a look at LightBoxDemo sample to see this new feature in action. A new helper class CBCGPInfoBoxView simplifies creating CView-derived class with embedded info box. If you need to create a simple information view, please derive your class from CBCGPInfoBoxView and call SetInfoText in the class constructor. Many of our samples are using this class now. Improved printing of the several controls: Calendar (Planner): a print content is same as view content. Grid and Edit controls: improved font and layout used for the printing. CBCGPGridCtrl: the following new access methods were added (for obtaining/changing default exporting flags): SetDefaultExportToHtmlFlags GetDefaultExportToHtmlFlags SetDefaultExportToCsvFlags GetDefaultExportToCsvFlags Examples and Samples BCGPControls: added auto-repeat push button demonstration to "Push Buttons" view. BCGPGaugesDemo has the following additions and improvements: "Analog Clock" view demonstrates a seconds' needle smooth movement. Added a new view "Digital Clock" that demonstrates a new Digital Clock gauge. Added "Rounded Corners" option to some views. Digital Indicator view demonstrates new "Not Ready" state and Digit Types. "Car Dashboard" view: a numeric indicator was replaced with a new digital clock gauge. BCGPVisualStudioGUIDemo: added demonstration how to comment a selected text in our edit control. BCGPGridExample: the user interface of this example was fully redesigned (see screenshot): Toolbars/Menu UI was replaced with MS Excel-like Ribbon-based UI. Current view-specific options are located now on the Ribbon contextual tabs and we added some new options illustrating grid control features. LightBoxDemo: added "Close Light Box by Clicking Outside" and "Disabled Parent Window" options demonstration. Fixes CBCGPGridCtrl: addressed issue with incorrect column width when column auto-size is specified and current grid zoom factor is not 100%. CBCGPComboBox: addressed issue with drawing text when no font is specified. CBCGPDateTimeCtrl: dropped-down date/time list is closed now when user presses Alt key. CBCGPDrawManager: DrawRoundRect correctly draws rectangle when corner radius is too small and lpRectClip is specified. CBCGPListBox: addressed issue with incorrect value of the default tab stop. CBCGPWinUITiles: addressed issue with mouse clicking on the same tile without cursor moving between clicks. CBCGPMessageLightBox: addressed issue with incorrect layout when the message box is displayed over a narrow parent frame. Addressed some issues with displaying double or triple borders (e.g., when WS_EX_STATICEDGE and WS_EX_CLIENTEDGE extended styles were specified together) in controls with custom visual themes. CBCGPEditCtrl: addressed issue with incorrect indentation caused by Undo operation. CBCGPEditCtrl: addressed issue with incorrect error indication when a part of word is being selected. CBCGPGridCtrl: fixed virtual row drawing artefact in some cases. CBCGPGridCtrl: addressed issue with clicking check box located on disabled grid row.