Einzelnen Beitrag anzeigen

Benutzerbild von titus
titus

Registriert seit: 5. Apr 2004
Ort: Freiburg
232 Beiträge
 
#1

RichEdit ähnliche Komponente mit Formatierungsmöglichkeit

  Alt 9. Jun 2006, 03:05
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.
'-'
  Mit Zitat antworten Zitat