Release Notes BCGPEdit Version: 30.0. Released: 12/16/2022 Visual Studio 2022 support: All projects (library and samples) were converted to VS 2022 and tested in this environment. Error indication support: A new simple and flexible mechanism allows to specify incorrect words or spelling errors and display them with a red curved line under the text and display list of suggested corrections in the word's context menu. EnableErrorIndication: enable/disable error indication. The following new methods were added to CBCGPEditCtrl class: IsErrorIndicationEnabled: tells whether error indication is enabled. IsCorrectWord: override this method to specify if specific word is incorrect. By default, all words are treated as correct. GetWordCorrections: override this method to specify a list of suggested corrections and list of custom actions related to the incorrect word. OnWordCorrectionMenuCustomAction: override this method to perform a custom action for the incorrect word (e.g., add this word to dictionary). GetIncorrectWordToolTip: override this method to specify a custom tooltip displayed near incorrect word (e.g., a reason why this word is treated as incorrect or recommended action). Please take a look at MDIEditor sample to see this new feature in action. Edit control scaling: The following new methods and notifications were added to CBCGPEditCtrl class: EnableZoom: enables or disables editor zoom. IsZoomEnabled: tells whether zoom is enabled. SetScale: set the current editor scale. GetScale: get the editor scale. SetScalingRange: specify the editor scaling range. GetMinScale and GetMaxScale: obtain the editor scaling range. BCGM_ON_EDITSCALECHANGED: notify owner about editor scale changing. CBCGPEditView: a new virtual method OnScaleChanged is called when the editor scale was changed. Syntax highlighting inside selected or marked areas: Implemented ability to draw text with a syntax highlighting on the selected or marked areas. The following new methods were added to CBCGPEditCtrl class: EnableSyntaxHilightingOnSelection IsSyntaxHilightingOnSelection EnableSyntaxHilightingOnColorLine IsSyntaxHilightingOnColorLine EnableSyntaxHilightingOnHiliteMarkers IsSyntaxHilightingOnHiliteMarkers Please take a look at Markers sample application to see this new feature in action. Commenting: 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 Other new and improved features: Improved Edit control "modified" flag implementation: BCGM_ON_MODIFIEDCHANGE: this new registered message notifies owner about "modified" flag changing. CBCGPEditCtrl::SetModified method is a virtual now. CBCGPEditView correctly specifies a document's "modified" flag (e.g., if user undoes all editor actions, the document will be unmodified again). Added a new method HasSelection: this method tells whether some text is selected. SetCaret method has a new, optional parameter bCleanUpSelection. If you set this parameter to TRUE, the current selection will be cleaned-up. ReplaceAll implementation has been significantly improved: replacing mechanism is much more fast and efficient now. A new method SetTextLeftMargin allows to specify a distance between text and left-side bar. By default, this value is 0. A new method LoadXMLSettingsFromResource simplifies loading XML settings from application's resources. A new virtual method OnGoToNextMarker allows to customize markers navigation behavior. Improved font and layout used for the printing. CBCGPEditView: implemented standard ID_EDIT_REPEAT command processing. Improved bookmarks/markers support. CBCGPEditCtrl has the following new methods: - GoToFirstMarker: moves caret to the 1-st editor's marker - BookmarkLine: adds bookmark to the specific editor's line - MarkAll: adds bookmarks to all editor's lines that contain a specified text. Samples: MDIEditor: added example how to use Python-style editor scheme and error indication. Markers: demonsrtares syntax highlighting inside selected areas. Fixes: Addressed issue with incorrect indentation caused by Undo operation. Addressed issue with printing text with a dark background. Addressed issue with italic fonts. Addressed issue with displaying hyperlink with custom color. Addressed issue with displaying hyperlink with "https" prefix. Addressed some issues with selection in GoToLine and GoToMarker methods. Addressed issue with incorrect vertical scrolling when some text blocks are collapsed.