Nee, einen eigenen Caret (mit eigener Form und Farbe) installiere ich mittels DestroyCaret (zur Eliminierung des alten Carets) und einem anschließenden CreateCaret(..). Nützlich dafür sind außerdem z.B. auch noch solche
Api-Funktionen wie SetCaretPos(..) und showCaret(..). So reduziere ich die Leerzeichen-Generierung nur auf die Situationen, in denen ich in solchen Positionen dann tatsächlich auch einen Text reinzuschreiben beginne.
Und soweit ich weiß ist Notepad nur auf einem TMemo aufgebaut, aber WordPad basiert auf einem RichEdit-Control ...und da ist es auch so wie ich es sagte.