![]() |
Re: Richedit Farbe ?
noch eine frage,
kann man auch die schriftgröße bestimmen ?
Delphi-Quellcode:
das geht aber nicht ?
Richedit.SelAttributes.font.size := 8;
mfg vader |
Re: Richedit Farbe ?
Auch das geht:
Delphi-Quellcode:
RE = Richedit ;)
procedure ...
begin cp := RE.CaretPos; RE.Selstart := 0; RE.Sellength := //... RE.SelAttributes.color := clRed; RE.SelAttributes.Size := 12; // <---<<< RE.Selstart := 0; RE.CaretPos := cp; RE.SelAttributes.Size := RE.Font.Size; // Zurücksetzen der Schriftgrösse RE.SelAttributes.Color := RE.Font.Color; // Zurücksetzen der Schriftfarbe end; |
Re: Richedit Farbe ?
hallo,
danke das geht,jetzt habe ich noch ein problem, und zwar ich habe auf meiner form einige richedit's plaziert, in der laufzeit habe ich dort dann was reinkopiert, jetzt wollte ich einen ausdruck von der form machen
Delphi-Quellcode:
siehe da, der reinkopierte text in den richedit's wird nicht mitausgedruckt ?
form1.print;
wie ist das möglich,und wie kann ich das anderes lösen ? mfg vader |
Re: Richedit Farbe ?
Mach bitte dazu einen neuen Thread auf.
|
Re: Richedit Farbe ?
hallo,
Delphi-Quellcode:
der code bezieht sich ja auf die zeichen der lines, geht das nicht das sich Richedit.selstart direkt auf
procedure TForm.RicheditChange(Sender: TObject);
var cp: TPoint; begin cp := Richedit.CaretPos; Richedit.selstart := 0; Richedit.SelLength := Length(Richedit.Lines[0]) + 2 + // + 2 wegen dem #13#10 hinter einer Zeile Length(Richedit.Lines[1]) + 2 + // -"- Length(Richedit.Lines[2]) + 2; // -"- Richedit.SelAttributes.color := clRed; Richedit.selstart := 0; Richedit.CaretPos := cp; Richedit.SelAttributes.color := Richedit.Font.Color; // Zurücksetzen der Farbe end; die zeilen ( lines )bezieht, dann könnte ich sagen in der lines [8] soll die schriftfarbe rot sein ? mfg vader |
Re: Richedit Farbe ?
Hallo Vader,
gefällt dir das besser?
Delphi-Quellcode:
Grüße vom marabu
procedure SetLineColor(re: TRichEdit; const index: Integer; const cl: TColor);
begin if index < re.Lines.Count then begin re.SelStart := re.Perform(EM_LINEINDEX, index, 0); re.SelLength := Length(re.Lines[index]); re.SelAttributes.Color := cl; end; end; |
Re: Richedit Farbe ?
oder dieses ^^
Delphi-Quellcode:
umständlich aber es funzt auch ^^
procedure TForm1.Button1Click(Sender: TObject);
var i,Line,sz:integer; begin sz:=0; //-- sz Startzeichen Line:=strtoint(edit1.Text)-1; //-- (-1) weil Richedit Index bei 0 anfängt for i:=0 to Line do begin sz:=sz+length(richedit1.Lines[i])+2; //-- (+2) weil hinter jeder Line noch 2 nicht sichtbare Zeichen stehen end; richedit1.SelStart:=sz-length(richedit1.Lines[Line])-2; richedit1.SelLength:=length(richedit1.Lines[Line]); richedit1.SelAttributes.Color:=clred; end; mann kann es auch in ne procedure schreiben um dan mehrere zeilen zu makieren. mfg Xe0n |
Re: Richedit Farbe ?
hallo,
habe den aufruf so gemacht
Delphi-Quellcode:
jetzt ist die zeile 3 mit der schriftfarbe rot, sagt aber deine procedure auch wieviel zeilen dann
SetLineColor (richedit1, 3,clred);
rot sein sollen ?
Delphi-Quellcode:
das funzt nicht
SetLineColor (richedit1, 3,,2,clred);
mfg vader |
Re: Richedit Farbe ?
Guten Morgen Vader.
Du bist ja richtig anspruchsvoll. Pass auf die geänderte Signatur auf:
Delphi-Quellcode:
Freundliche Grüße vom marabu
procedure SetParaColor(re: TRichEdit; const cl: TColor;
const index: Cardinal; const count: Cardinal = 1); begin if (index < re.Lines.Count) and (count >= 1) then begin re.SelStart := re.Perform(EM_LINEINDEX, index, 0); re.SelLength := re.Perform(EM_LINEINDEX, index + count, 0) - re.SelStart; re.SelAttributes.Color := cl; end; end; |
Re: Richedit Farbe ?
hallo,
danke schön ihr seid alle super,sowie deine prozeduren wie auch die lösung von xeON ! mfg vader |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz