AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TRichEdit transparent bzw. mit Hintergrund
Thema durchsuchen
Ansicht
Themen-Optionen

TRichEdit transparent bzw. mit Hintergrund

Ein Thema von Delphi-Freak · begonnen am 10. Jul 2006 · letzter Beitrag vom 31. Jul 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#11

Re: TRichEdit transparent bzw. mit Hintergrund

  Alt 20. Jul 2006, 12:53
***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
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

Re: TRichEdit transparent bzw. mit Hintergrund

  Alt 20. Jul 2006, 14:51
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).
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#13

Re: TRichEdit transparent bzw. mit Hintergrund

  Alt 20. Jul 2006, 15:08
VIELEN, VIELEN DANK!
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.

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Real_Thunder

Registriert seit: 25. Apr 2006
197 Beiträge
 
#14

Re: TRichEdit transparent bzw. mit Hintergrund

  Alt 31. Jul 2006, 03:22
ööö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 ...
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#15

Re: TRichEdit transparent bzw. mit Hintergrund

  Alt 31. Jul 2006, 07:18
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.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 Uhr.
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