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:
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;
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.
Ich hoffe ihr könnt uns helfen (wir sitzen jetzt schon seit ca. 4 Stunden dran und sind kaum weiter).
mfG, titus
Daniel L.
'-'