| My Edit Project |
|
Main Editor |
Dual Edit Panes |
Created 23-02-08
This project was started as the freeware editor I had been using for about 3 years was a rough diamond. The owner of the
product had not fixed any of the bugs I had reported since using it. The editor was growing in scope and new bugs
were being introduced.
I tried to sub class a Richedit class but could not gain enough control over the class.
I then sub classed the Borland TCustomControl class defined as:
• TCustomControl is the base class from which to derive windowed controls that require the support
of a Canvas for drawing complex visual images.
class TEditor : public TCustomControl
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_CHAR, TMessage, OnReceiveChar)
MESSAGE_HANDLER(WM_PAINT, TWMDrawItem, EditorPaint)
MESSAGE_HANDLER(WM_KEYUP, TMessage, EditorKeyUp)
MESSAGE_HANDLER(WM_MOUSEWHEEL, TMessage, EditorMouseWheel)
MESSAGE_HANDLER(WM_LBUTTONDOWN, TWMMouse, EditorMouseDown)
MESSAGE_HANDLER(WM_LBUTTONUP, TWMMouse, EditorMouseUp)
MESSAGE_HANDLER(WM_MOUSEMOVE, TWMMouse, EditorMouseMove)
MESSAGE_HANDLER(WM_MOUSELEAVE, TWMMouse, EditorMouseLeave)
MESSAGE_HANDLER(WM_LBUTTONDBLCLK, TWMMouse, EditorMouseDblClick)
MESSAGE_HANDLER(WM_SIZE, TWMSize, EditorReSize)
MESSAGE_HANDLER(WM_SETFOCUS, TWMSetFocus, EditorSetFocus)
MESSAGE_HANDLER(WM_KILLFOCUS, TWMKillFocus, EditorKillFocus)
MESSAGE_HANDLER(WM_VSCROLL, TMessage, EditorVScroll)
MESSAGE_HANDLER(WM_HSCROLL, TMessage, EditorHScroll)
END_MESSAGE_MAP(TCustomControl)
|
Auto Complete |
My primary objectives for the Editor were: • Sytax Highlighting • Unlimited line size • Use Microsoft Alt Mouse Drag for block selection of text • Line numbering • Paste to newline • Cursor through tabs • Project handling • Display of function definition names • Numbered bookmarks |
Project Support |
![]() Simple Search (Similar to an Internet Search Engine). Replaces Regular Expressions |
Features:
• 10 Global Bookmarks
• 10 Local Bookmarks per Document
• Alphabetic sort
• Ancillary Panel
Hosts the Function List
• Ascii Table Dialog
• Auto Complete
• Auto Indent
• Block text selection
|
Block Selection |
Features: Continued...
• Bracket Matching
• Clipboard History List
• Copy Filename to Clipboard
Shift Click includes Path
• Cursor beyond EOL and EOF
• Cursor through tabs
• Directory and File Listboxes
• Display all Functions in a new Document
• Display all Functions in the Results Window
• Drag and Drop files
• Dual Editor Window View
Horizontal and Vertical
• Enumeration of selected items
• Find results to Results Window
Ctrl F7 find previous item
Ctrl F8 find next item
• Function Parsing
• Get function name Ctrl H
• Get text at cursor when using Find Dialog Ctrl F
• Goto line Ctrl G
• Hiding of Tool Panel F2, Status Bar, Ruler, Tabs Control
• Information Dialog
• Insert Date
• Line Numbers
• Line Hiding
• List Methods in Result Window
• Method Folding
• Multiline Tab Control
• Multiple Results Lists
• Open Document change by external source monitoring
• Options Dialog
|
Method Folding |
Options Dialog |
Features: Continued... • Paste to New Line • Paste to New End of Line • Print Preview • Project Support • Redo Functionality • Removal of Trailing Spaces • Related Files: Double Click on a Project File to open a Popup Menu |
Find Related Files |
Features: Continued... • Ruler with Dragable Margin • Save of last open document, Cursor Position and Bookmarks of all Project Files • Save of each Project Search Path • Save all Editor User View Preferences • Set File Attributes • Sort of Functions and Project Files • Status Bar • Syntax Highlighting |
Syntax Highlighting |
Syntax Highlighting XML configured |
Features: Continued... • Tab Conversion to Spaces • Tab Control top or bottom • Tab Size • Tool Bar • Undo Functionality • View File as Hex • View White Space F4 |
Zoom to full screen |
Clipboard History List |
Bracket Matching |
Search Word Highlighting |
Calculate Selected Expressions |
Undockable Results Window can be used with Dual Monitors |
Built with Borland C++ Builder BDS2006 Built with Borland C++ Builder XE3 |