Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TRichEdit transparent bzw. mit Hintergrund (https://www.delphipraxis.net/72967-trichedit-transparent-bzw-mit-hintergrund.html)

Delphi-Freak 20. Jul 2006 12:53

Re: TRichEdit transparent bzw. mit Hintergrund
 
***Push***

Ich habe jetzt die Komponente TJvPanel gesehen, die man ja transparent machen kann, aber irgendwie funktioniert das, so wie es das TJvPanel macht, mit den anderen Komponenten nicht...
Ich habe auch schon probiert, das TRichEdit auf ein Form zu geben und dann via TransparentColorValue transparent zu machen - das hat grundsätzlich funktioniert, nur sobald ich dem Form als Parent mein HauptForm gegeben habe war die Transparenz wieder weg, warum eigentlich?

LG, ich

Flocke 20. Jul 2006 14:51

Re: TRichEdit transparent bzw. mit Hintergrund
 
Also ich habe gerade meinen ersten Hinweis noch einmal ausprobiert mit:
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;

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;

end.
und das funktioniert bei mir einwandfrei - auf jeden Fall so, dass man eine Bitmap dahinter legen kann, die durch den Text hindurchscheint (siehe Screenshot im Posting weiter oben).

Delphi-Freak 20. Jul 2006 15:08

Re: TRichEdit transparent bzw. mit Hintergrund
 
VIELEN, VIELEN DANK! :thumb:
Jetzt funktionierts!
Bitte entschuldige vielmals, ich habe deinen oberen Post irgendwie nur halb gelesen, ich habe es da nur mit WM_ERASEBKGND ausprobiert und nicht beides zusammen; ich weiß irgendwie nicht warum, wundert mich jetzt voll. Und das Beispiel-Bild - der "Beweis", dass es so gehen muss - ist mir irgendwie auch nicht aufgefallen, obwohl ich normalerweise auf Bilder immer scharf bin. :zwinker:

LG, ich
:dp:

Real_Thunder 31. Jul 2006 03:22

Re: TRichEdit transparent bzw. mit Hintergrund
 
öööhhhmmm... könnt ihr das Gnaze auch noch mal für Blöde erklrären :)

ich versuche gerade ein bild hintergrundbild in meine richedit zu packen... aber irgendwie will es niht ...

Flocke 31. Jul 2006 07:18

Re: TRichEdit transparent bzw. mit Hintergrund
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz