Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie kann man bei einem Richedit die Hintergrundfarbe ändern (https://www.delphipraxis.net/19618-wie-kann-man-bei-einem-richedit-die-hintergrundfarbe-aendern.html)

Nicodius 6. Apr 2004 08:53


Wie kann man bei einem Richedit die Hintergrundfarbe ändern
 
Kann man mit einer Komponente(oder halt Richedit) eine Hintergrundfarbe für den Text ändern(wie die FontColor mit Selattributes) also der eine Teil vom Text hat einen Gelben hintergrund 2 zeilen weiter hats einen Böauben hintergrund...


wie macht man das , wenns geht?

Mirilin 6. Apr 2004 17:34

Re: Wie kann man bei einem Richedit die Hintergrundfarbe än
 
:hi:

[klick]

mfg Tobias

Nicodius 7. Apr 2004 08:52

Re: Wie kann man bei einem Richedit die Hintergrundfarbe än
 
vielen Dank!

Florian H 4. Sep 2006 13:09

Re: Wie kann man bei einem Richedit die Hintergrundfarbe än
 
Wie bekomm ich diese Hintergrundfarbe denn dann wieder weg?
Also transparenz rein... nich "weiß" oder so..

Edit: clNone resp. $1000000 funktionieren nicht, das ist dann eher so ein sehr dunkles grau...

Florian H 9. Sep 2006 10:25

Re: Wie kann man bei einem Richedit die Hintergrundfarbe än
 
Hm, niemand weiß das?
Weil das macht die Funktion eigentlich unbenutzbar in einem Editor, weil man sie nicht rückgängig machen kann (ohne alle anderen Formatierungen zu verlieren)..

Flocke 9. Sep 2006 10:34

Re: Wie kann man bei einem Richedit die Hintergrundfarbe än
 
Du musst einfach in dwEffects das Bit CFE_AUTOBACKCOLOR setzen (wenn das nicht deklariert ist dann nimm CFM_BACKCOLOR, das hat denselben Wert).

Erweiterte Version (AColor = clWindow oder clNone löscht die Hintergrundfarbe):
Delphi-Quellcode:
procedure RE_SetSelBgColor(RichEdit: TRichEdit; AColor: TColor);
var
  Format: CHARFORMAT2;
begin
  FillChar(Format, SizeOf(Format), 0);
  with Format do
  begin
    cbSize := SizeOf(Format);
    dwMask := CFM_BACKCOLOR;
    if (AColor = clWindow) or (AColor = clNone) then
      dwEffects := CFE_AUTOBACKCOLOR
    else
      crBackColor := AColor;
    Richedit.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format));
  end;
end;

Florian H 9. Sep 2006 12:49

Re: Wie kann man bei einem Richedit die Hintergrundfarbe än
 
Ui, danke, das hat geholfen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:45 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