Als Basis brauchst du die JVCL oder eine andere RichEdit-Komponente die die neuere Version der RichEdit-DLLs nutzt - mit der Standardkomponente geht's nicht.
Speichere das hier:
Delphi-Quellcode:
unit TransparentRichEdit;
interface
uses
SysUtils, Windows, Messages, Classes, Controls, JvRichEdit;
type
TTransparentRichEdit =
class(TJvRichEdit)
private
procedure WMEraseBkGnd(
var Message: TWMEraseBkGnd);
message WM_ERASEBKGND;
protected
procedure CreateParams(
var Params: TCreateParams);
override;
end;
procedure Register;
implementation
{ TTransparentRichEdit }
procedure TTransparentRichEdit.CreateParams(
var Params: TCreateParams);
begin
inherited;
Params.ExStyle := Params.ExStyle
or WS_EX_TRANSPARENT;
end;
procedure TTransparentRichEdit.WMEraseBkGnd(
var Message: TWMEraseBkGnd);
begin
Message.Result := 1;
end;
procedure Register;
begin
RegisterComponents('
Win32', [TTransparentRichEdit]);
end;
end.
in der Datei "TransparentRichEdit.pas" und installiere es als Komponente.
Die hat dann einen transparenten Hintergrund, d.h. du kannst ein TImage dahinter legen.