Hi all

This is my attemt to make a code edit control that has it all.
See the included ReadMe.txt for more info.

If you like it and find no bugs I plan to start work on replacing the richedit in RadASM.

Does it work with Chinese?


12/10/2002 17 dl. Speed optimized. Page paints 50% faster.
12/15/2002 70 dl. Mayor rework. Think I have its behaviour now.
12/16/2002 32 dl. Fixed a paint bug in RAEdit. Fixed a hilite selection bug in demo IDE. Added EM_LINELENGHT. Made changes to cursor movements when there was a selection.
12/17/2002 34 dl. Added styles, added several richedit messages, speed optimized selection painting.
12/18/2002 28 dl. Fixed known bugs.
12/19/2002 21 dl. Fixed known bugs. More optimalizations. More options in demo IDE.
12/19/2002 4 dl. Fixed yet another bug. Added auto indent.
12/20/2002 27 dl. Fixed more bugs. Added output window to demo IDE. Added make commands to demo IDE.
12/21/2002 38 dl. Fixed weird caret movement. Added mouse wheel support. Added quotes to file names (make) in demo IDE.
12/23/2002 30 dl. Fixed make bug in demo IDE. Added several option messages to RAEdit.
01/07/2003 60 dl. Included source for RAEdit control.
01/08/2003 43 dl. Updated sources can be found at my web site.
Posted on 2002-12-10 09:01:41 by KetilO
It is very nice.
It works really good (tested on Win2K)

You are so productive !!!!

Best Regards,

p.d. A feature request:

It is possible to have 1:1 binary compatibility?
For instance, opening a non 100% text and saving it with a different name does not damage the file.
Posted on 2002-12-10 09:23:05 by pelaillo
Very nice! Richedit still beats it in terms of speed, though. Scrolling and selections are a little bit jumpy (testing with Masm32 Window.inc file, biggest ASM file I know :) )

I don't know if you already have this, but I think you can gain some speed by making some optimizations for monospace fonts. Saves on a lot of GetTextExtentPoint blah blah API calls.
Posted on 2002-12-10 12:02:19 by Qweerdy
Hi Qweerdy


There was a logical bug in the word scan routine. 50% faster now.

Using PgDn in a 40 000 line code now takes 59 sec to reach end.
Richedit 52 sec.

Selection is still a little slow and needs to be optimized.

Yes, I do a lot of character calculations. Checking if font is monospaced is a good idea. I will try that.

Posted on 2002-12-10 13:37:10 by KetilO
Hello KetilO.

Your attemt is the best.
Also,split bar is very nice,but the comments no neads to be italic.

I am,maybe,the first that i suggested you to change the RichEdit Control.
But don't change the style of RadAsm.
I think that MDI style is better than tab.
The MDI style is like Visual Studio and is more helpful for programmers.
Moreover,RadAsm have its own style and not resemble with others IDEs.
No neads unnecessary tools.
I think that an IDE must be simple and effective.

Can you add the option to build pure DOS aplications ?

Posted on 2002-12-10 14:11:04 by Anonymous
Hi manos


Don't worry I will not change the style of RadASM.
I am very happy about the MDI.

It has been years since I build dos applications with TASM, and even longer since I used MASM with dos.
I think you can use MASM 6.15 but needs a dos linker. Am I right?

Italic comments is an option.
Fill in a RACOLOR struct and send a REM_SETCOLOR message.
The high byte of the color is the font option (0=normal, 1=italic, 2=bold, 3=bold italic)

Posted on 2002-12-10 14:35:46 by KetilO
It support chinese very good
Posted on 2002-12-10 21:12:35 by free2000fly
The scrollbars have a small problem with WinXP skins. If you look at the attached pic, the upper part of the scrollbar is skinned and the rest is not. It looks like this just after I click the scrollbar track. When I click the scrollbar again, the track skinning disappears again.

Another thing I noticed: when I copy and paste a collapsed proc, it only copies and pastes the visible text (just the "proc" and "endp" lines). Also you can't delete text when it has a collapsed proc inside. IMHO when selecting text it should also select the parts that are not visible.
Posted on 2002-12-11 00:47:49 by Qweerdy
Hi Donkey

It seem that on some systems the mouse wheel won't work if the mouse is over the selection bar (happends on my win98).

Posted on 2002-12-11 02:08:20 by KetilO
Hi free2000fly


Posted on 2002-12-11 02:09:14 by KetilO
Hi Qweerdy

When a proc is collapsed the two lines are locked and cannot be edited. I choose this instead of auto expand.

Copy collapsed proc:
I am not shure if I want to include collapsed text. I more often copy the proc header to create a new proc than the entire proc.
And since I plan to add auto name change on endp line I think it would be a great feature to only copy the two lines.

I don't seem to have any xp skinning problems, what can possibly be the cause?

Posted on 2002-12-11 02:26:00 by KetilO
Hi KetilO, you demo editor seems really impressive. Keep up the good work! I like the tab style too (but also MDI is fine). Never thought about add to RadASM support for Borland Free C compiler (and linker) with C syntax highlight? Of course after you have completed your new edit control. :alright:
Posted on 2002-12-11 03:13:30 by LuHa

And since I plan to add auto name change on endp line I think it would be a great feature to only copy the two lines.

I'm not quite following you here :confused: What's the connection?

Personally I think it would be useful if you select both the proc and endp lines and then press DEL or Ctrl+C that it would work on the entire proc. Of course if you have selected only one of those lines it should just work on the selected line.

About the skin problem, I still don't get it. I can reproduce it easily here. Perhaps the skin you're using doesn't have a mouseover effect? Mine changes the color slightly when the mouse if over one of the scrollbar parts. In case you want to test it yourself, the skin name is ChaNinja.
Posted on 2002-12-11 05:01:46 by Qweerdy
Hi Qweerdy

ChaNinja theme is not on my computer and I was not able to find a link that works.

Seem like I did a big mistake by removing collapsed lines from the pool. It creates too many problems.
I will try out a method where I flag them hidden instead. This is mayor rework. Lets see what the result will be.

Posted on 2002-12-11 06:44:39 by KetilO
ChaNinja theme is not on my computer and I was not able to find a link that works.

You can get ChaNinja at DeviantArt (great site btw):


Seem like I did a big mistake by removing collapsed lines from the pool. It creates too many problems.
I will try out a method where I flag them hidden instead. This is mayor rework. Lets see what the result will be.

I'll wish you good luck then :alright:
Posted on 2002-12-11 08:00:50 by Qweerdy

Awesome !!!
Just tastes like a real window control !
Do you plan to release it as a library (dynamic and static) with some documentation to customize its behavior ?
I am sure it would be the #1 windows programming edit control...
Very powerful...

Like Elftor would say : "DIE RICHEDIT, DIE !!!"

PS : The line numbers tend to flicker on my win98 box (pIII 450)... and the numbers are a bit small, imho...
Posted on 2002-12-11 08:42:56 by JCP
Hi Readiosys


When I'm done I will release the source, documentation, lib and dll.

The font for the linenumbers are user selectable. Flicker problem will be solved.

Posted on 2002-12-11 09:30:42 by KetilO
Hi KetilO,

Good to hear go on growing. This is really like a new year gift. Liked this too much. :alright:

Posted on 2002-12-11 16:37:34 by cakmak
Hi cakmak


I am getting closer by the hour. Still a long way to go tho.

Posted on 2002-12-11 17:30:50 by KetilO
1. Sometimes i need to click TWICE on either plus or minor button to expand or collapse procedures.
2. the control can't display Chinese characters but the tab control can.

Features recommended:
add the toolbar into a page control so the toolbar will not be clipped when the window width is smaller than that.

Improvement recommended:
add some spaces between the line number and the plus/minor button.

This control is very good. It is highly appreciated. Thanks.

P.S. My system is Windows98SE
Posted on 2002-12-12 13:14:33 by yoursguideline