Zu deiner ersten Frage: du könntest die (protected) Methode TWinControl.CreateParams aufrufen und dir dann TCreateParams.WinClassName anschauen.
Alternativ kannst du die Windows-API-Funktion GetClassName mit Control.Handle benutzen. (Hattest du ja schon)
Zu add3: ist's wirklich ein normales TRichEdit oder ist es ein TJvRichEdit (also 3.0). Das ist nämlich abwärtskompatibel:
Zitat von
MSDN:
Rich Edit 3.0 and later: For backward compatibility, Microsoft Rich Edit 3.0 supports the syntax used by Rich Edit 2.0. If Rich Edit 3.0 detects that wParam is not a valid POINTL pointer, it assumes the message was sent using the Rich Edit 2.0 syntax. In this case, it uses the return value to return the coordinates.