Syntax coloring text edit window class
This class provides a CWnd derived editor that provides syntax coloring based on a keyword file you provide. It also supports auto-indent and retab. It is much faster than using CRichEditView to do the same thing, but it flickers a little and does not support any additional formatting.
There are two classes that must be added to a project "ColorEditWnd" is the editor and "Colorize" is the parser. The included project shows how to add the window.
Add the window as follows:
Add a member variable which is a pointer to a ColorEditWnd (in this example cColorWnd)
After initialization of the parent window instantiate the color edit window as follows:
CRect client;
GetClientRect(client);
CString keywordsFile = "Keywords.ini";
BOOL caseSensitive = FALSE;
long pCharDX = 10;
long pCharDY = 16;
long pTabSize = 4;
int pFontSize = 120;
CString pFontName = "Courier New";cColorWnd = new ColorEditWnd(
this, //parent window
client, //initial size and position
IDC_COLOR_WND, //id value
keywordsFile, //keywords file
caseSensitive, //case sensitive ?
pCharDX, //width of each character
pCharDY, //height of each character
pTabSize, //size of a tab in characters
pFontSize, //font size * 10 (I.E. 100 = 10)
pFontName); //the font namecColorWnd->ShowWindow(SW_SHOW);
Use the methods "LoadText" and "UnloadText" to control the text in the edit window. .
Keyword File
The keyword file is a simple text file with each word on a separate line. Individual words will appear as keywords (blue), words preceded by '&' are user defined functions (red). If a word is preceded by '+' it causes an auto-indent, '-' causes an auto-unindent.
The example project includes a keyword file for VBA.
Limitations
There is some flickering in the current version.

Comments
It works slowly
Posted by wangyu0831 on 12/27/2007 10:56pmIt works slowly
ReplySome problem with ComboBox
Posted by Legacy on 09/07/2003 12:00amOriginally posted by: kim
use this class with combobox..
there is no cursor in editbox
Reply
ExEditors Library
Posted by Legacy on 03/19/2002 12:00amOriginally posted by: Mike Philips
ReplyThinks for you advise!!
Posted by Legacy on 02/03/2002 12:00amOriginally posted by: DZBJET
i'm very astonished by this article,
Replyand i've been searching for this article for a long time.
thank you!
Ack! Win XP Error
Posted by Legacy on 02/01/2002 12:00amOriginally posted by: John
It is probably Windows XP. I got an error report popup box saying:
'SYNTAXCOLORDEMO MFC Application has encountered a problem and needs to close. We are sorry for the inconvenience.'
Just wanted to make this known.
~good luck
ReplyOh Fuck Yeah...
Posted by Legacy on 12/06/2001 12:00amOriginally posted by: hbk003
This is some of the best work I've seen...
ReplyIt works like shit!
Posted by Legacy on 10/01/2001 12:00amOriginally posted by: P
Nice work of shit!
Reply
Bug in ColorEditWnd::DrawLine(long pLine) function
Posted by Legacy on 01/20/1999 12:00amOriginally posted by: Sergey Kornilov
ReplySyntax Coloring Text Edit Window
Posted by Legacy on 12/23/1998 12:00amOriginally posted by: Ron Royce
I noticed that the functionality for using the shift key to highlight words is not implemented. This is a necessity for any text editor.
Reply