![]() |
RichEdit ähnliche Komponente mit Formatierungsmöglichkeit
Hi,
wir versuchen gerade eine RichEdit ähnliche Komponente zu finden, oder gar RichEdit zu benutzen um farbigen Text darzustellen, und zwar nach folgenden Kriterien: - Farbe Vordergrund, verschiedene in einer Zeile - Farbe Hintergrund, verschiedene in einer Zeile Und möglichst alle weiteren Formatierungen, wie zum Beispiel Fett, Unterstrichen etc. (ähnlich dem BBCode also). Was wir bisher versucht haben:
Delphi-Quellcode:
Die Versuche haben leider recht kläglich damit geendet, dass wir zwar farbig schreiben konnten, aber immer nur zeilenweise oder, dass die Farben verrückt spielten.
procedure SelAttColor(RichEdit: TRichEdit; iString: String; ColorStart: TColor);
var n: integer; begin n := 0; RichEdit.Lines[n] := iString; RichEdit.SelStart := 0; RichEdit.SelLength := Length(iString); RichEdit.SelAttributes.Color := ColorStart; RichEdit.Lines[n] := RichEdit.Lines[n] + 'a'; RichEdit.SelStart := Length(iString); RichEdit.SelLength := 0; RichEdit.SelAttributes.Color := STD_TEXT_COLOR; end; procedure SelAttBg(RichEdit: TRichEdit; AColor: TColor); var Format: CHARFORMAT2; begin RichEdit.SelLength := 0; FillChar(Format, SizeOf(Format), 0); with Format do begin cbSize := SizeOf(Format); dwMask := CFM_BACKCOLOR; crBackColor := AColor; Richedit.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format)); end; end; Ich hoffe ihr könnt uns helfen (wir sitzen jetzt schon seit ca. 4 Stunden dran und sind kaum weiter). mfG, titus |
Re: RichEdit ähnliche Komponente mit Formatierungsmöglichkei
hier das hatte ich benutzt um ein protokol zu schreiben
Delphi-Quellcode:
[edit=Luckie]Code-Tags korrigiert. Mfg, Luckie[/edit]
procedure AddProtocol(caption,text: string; col1,col2 :Tcolor; style1,style2:Tfontstyles);
var Line: Integer; MsgString :string; begin MSGString:=text; with ProtokollForm.RichEdit1 do begin Lines.Add(Caption + ' ' + MSGString + ' ('+TimeToStr(now)+')'); Line:= Perform(EM_LINEINDEX, lines.Count-1, 0); SelStart := line; SelLength := Length(Caption); SelAttributes.Style:=style1; SelAttributes.Color:=col1; SelLength:=0; SelStart := line+ Length(Caption)+1; SelLength := Length(Lines[lines.Count-1]); SelAttributes.Color:=col2; SelAttributes.Style:=style2; SelLength:=0; SelStart := line + Length(Caption + ' ' + MsgString); SelLength := Length(Lines[lines.Count-1]); SelAttributes.Color:=clBlack; SelAttributes.Style:=[]; SelLength:=0; end; end; |
Re: RichEdit ähnliche Komponente mit Formatierungsmöglichkei
ich würd nur gerne wissen was die var MSGString soll.....
|
Re: RichEdit ähnliche Komponente mit Formatierungsmöglichkei
Ok vielen Dank ich hab's zusammengeschnipselt bekommen :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 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