Release Notes BCGSuite for MFC Version: 35.1. Released: 08/28/2024 Dialogs and Forms CBCGPMessageBox: A new static member m_nTextCalculationStep specifies the text layout calculation tolerance (in pixels, 10 by default). Specify a larger value if you have message boxes with long texts to optimize the dialog initialization time. Improved appearance of dialog controls when the user specified the custom Windows text size. All controls have the same font size as the parent dialog font. Grid and Report Controls Significantly improved performance of inserting a large number of items when the grid (or extended tree control) has a hierarchical structure. For example, adding 1 000 items each with 1 000 subitems takes less than 2 seconds now (in the previous versions, this operation took tens of seconds). Now, you can create the grid with a huge number of items and utilize advanced features such as filters and groups. The following methods of the CBCGPGridCtrl class have a new, optional parameter bUpdateSelection (FALSE by default): InsertGroupColumn, RemoveGroupColumn, and RemoveGroupColumnByVal. When this parameter is TRUE, the recent grid selection will be restored after changing the grid structure. A new virtual method CBCGPGridCtrl::OnQueryClearSkipStaticItem is called by the framework for each static (non-editable) grid item when the grid performs the Clear operation for multiple items. By default, the clearing operation doesn't affect the static items, but you can override this method to change this behavior. Controls CBCGPTreeCtrlEx: Improved keyboard navigation when the tree control has one column only; now, the navigation is very similar to the Windows tree view keyboard navigation. CBCGPTreeCtrlEx: Added LPSTR_TEXTCALLBACK and I_IMAGECALLBACK values support for the tree item dynamic text label and icons. Edit control The text finding has been improved: now, when the matched text is located inside the collapsed (hidden) text block, the block will be automatically expanded and the caret will be moved to the selected text (this behavior is similar to the Visual Studio code editor behavior). A new method, CBCGPEditCtrl::ExpandHiddenText, allows you to expand the hidden text block specified by the offsets range. CBCGPEditCtrl::EnableAutoOutlining has a new, optional parameter bUpdate (FALSE by default). Set this parameter to TRUE to immediately reparse content and update outlining in the editor. Miscellaneous Improved gauge default font support: if a gauge control is created on a dialog, property page, or form view, the text format has the same size as the parent window font size. BCGPChartFormatLabel::GetFontSize (static method): added a new, optional parameter pWndOwner. Specify this value in order to correctly calculate the font size in multi-DPI environments. Fixes CBCGPURLLinkButton: Fixed the incorrect value of the internal padding when control is displayed in a high-DPI environment. CBCGPPropertySheet: Addressed an issue with the missing call of CBCGPPropertyPage::OnKillActive method when the property sheet is resizable, and tab control is located on top. CBCGPTreeCtrlEx: Addressed an issue with incorrect redrawing after calling the Select method. CBCGPPlannerView: Addressed an issue with an incorrect redrawing of the header area in some specific cases. CBCGPGridCtrl: Addressed some issues with a custom sorting. CBCGPGridCtrl: Addressed the issue with the incorrect font size of the column chooser after the grid control DPI changed. CBCGPEditCtrl: Addressed the issue with the incorrect result of the FindHyperlinkString method when a hyperlink is located inside quotes. CBCGPAnalogClock: Addressed the issue with the incorrect embedded date indicator size when the gauge has a custom font.