The VCL TRichEdit component works properly on Windows 95/98/NT but behaves oddly on Windows 2000. What is causing this?
Assuming that your code is not at fault, the problem may have something to do with the way that Microsoft has implemented RichEdit 1.0 (TRichEdit uses RE 1.0) support for Windows 2000. If you check the size of riched32.dll, I think that you will find that the file is somewhere around 4KB, nowhere near the normal 160+KB for the full RE 1.0 DLL. This leads me to believe that W2K riched32.dll is a “wrapper” that simply forwards calls to riched20.dll (RE 2.0/3.0). And, based on the reports that I have received, it appears to be a rather buggy wrapper. If you are confident that your code is correct, my best advice is to try to convert your code to use RE 2.0/3.0 directly. You can find links to a couple of the better-known free Delphi-based components on my Links page or you can try the TRichEdit20 class (free) or TaeRichEdit Component (free only for non-commercial use), both available on this site.