Skip Navigation LinksBCGSoft > Release Notes > Version Release Notes

Release Notes

BCGPEdit

Version: 37.0. Released: 08/22/2025

  1. New features
    1. The highlighting of outline blocks has been implemented (refer to screenshot). When this feature is enabled and the user hovers the mouse cursor over the outline button or bar, the text inside the block is highlighted. Call the new CBCGPEditCtrl class method SetHighlightOutlineBlocks to enable or disable this feature. The other new method, IsHighlightOutlineBlocks, tells whether the outline block highlighting is enabled.
    2. Implemented the whole row selection by clicking on the left side of the text (or left of the outline bar, if it is enabled) — see screenshot. Call the new CBCGPEditCtrl class method EnableSelectWholeRow to enable or disable this feature.
    3. The outlining of the single-row block is disabled by default now (as in the Visual Studio text editor). If you wish to enable it, please call the new CBCGPEditCtrl class method SetOutlineSingleRow.
    4. SelectLine method: a new, optional parameter, bCaretToEnd (FALSE by default), specifies whether the caret should be moved to the end of the selected line.
    5. The following CBCGPEditCtrl class new methods simplify the hit testing:
      • XInSideBar: tells whether the point is located inside the sidebar.
      • XInOutlineBar: tells whether the point is located inside the outline bar.
      • XInLineNumbersBar: tells whether the point is located inside the line number bar.
    6. Revised the control's horizontal scrolling. The new implementation conceals the unnecessary horizontal scrollbar and determines the actual maximum scroll width during text editing. Call the new CBCGPEditCtrl method SetFixedHorizontalScrollRange to enable this new behavior. By default, the editor uses the old implementation.
    7. We have simplified the use of the edit control in dialogs and forms by creating it with the parent dialog font, default keyboard accelerators, and a context menu. See our sample application, ResizableForm, to see how it works.
    8. The new method of the CBCGPEditCtrl class SetSideBarWidth specifies the side bar width. GetSideBarWidth returns a previously specified width.
    9. 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).
    10. A new method, CBCGPEditCtrl::ExpandHiddenText, allows you to expand the hidden text block specified by the offsets range.
    11. 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.
    12. Changed BCGM_ON_MODIFIEDCHANGE registered message parameters: LPARAM receives a pointer to the current window.
    13. Changed BCGM_ON_EDITCHANGE registered message parameters: WPARAM received control id of the current window and LPARAM receives a pointer to the current window.
    14. SetSymImgList method can be called now before the window creation.
    15. 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
    16. Added a new method HasSelection: this method tells whether some text is selected.
    17. Implemented standard keyboard accelerators (such as Ctrl+C or Ctrl+V) processing. Call new method SetProcessClipboardAccelerators to enable this feature. IsProcessClipboardAccelerators method tells whether the standard keyboard accelerators processing is enabled.

  2. Fixes
    1. Addressed the issue with the incorrect result of the FindHyperlinkString method when a hyperlink is located inside quotes.
    2. Addressed the issue with incorrect indentation caused by Undo operation.
    3. Addressed the issue with incorrect error indication when a part of word is being selected.