Zu deiner Frage: es kann sein, muss aber nicht. Meine Vermutung ist, dass das RichEdit-Control die Bits nur in WM_CREATE auswertet und danach nicht mehr.
Zur Transparenz: bei mir funktionierts - allerdings mit einer komplett eigenen Komponente und nicht TJvRichEdit. Ggf. musst du noch WM_ERASEBKGND abfangen und einfach 1 zurückliefern:
Delphi-Quellcode:
procedure TJvRichEdit_Transparent.WMEraseBkgnd(var Msg: TWMEraseBkgnd);
begin
Msg.Result := 1;
end;
Das angehängte Bild zeigt einen völlig sinnlosen Text in einem transparent RichEdit-Control. Kleines Problem sind nur die Scrollbars, die stellenweise nicht neu gezeichnet werden.