AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [Gelöst] Einzelne Zeile farbig im JvRichEdit
Thema durchsuchen
Ansicht
Themen-Optionen

[Gelöst] Einzelne Zeile farbig im JvRichEdit

Ein Thema von Neuni · begonnen am 14. Jul 2005 · letzter Beitrag vom 15. Jul 2005
Antwort Antwort
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#1

[Gelöst] Einzelne Zeile farbig im JvRichEdit

  Alt 14. Jul 2005, 18:15
Hi,
wieder mal eine Frage zu meiner Lieblings-Komponente dem JvRichEdit

In der Demo kann man einen ausgewählten Teil farbig machen, allerdings raff ich nicht ganz wie.
Bei mir würds schon reichen, wenn einfach eine bestimmte Zeile dann eingefärbt wird.

Also sowas wie
JvRichEdit1.lines[5].color := clred; oder so.

Kann mir jemand erklären wie das geht?
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#2

Re: Einzelne Zeile farbig im JvRichEdit

  Alt 14. Jul 2005, 18:41
Hallo Neuni,

der Bereich, der verändert werden soll, muß zuvor markiert werden. Dann funktioniert (getestet mit TRichEdit):


  rtf.SelAttributes.Color := clRed; mfg
eddy
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#3

Re: Einzelne Zeile farbig im JvRichEdit

  Alt 14. Jul 2005, 19:53
Danke, das geht ja schonmal wunderbar, aber wie kann ich eine Zeile markieren?
Hab schonmal sowas probiert:
Delphi-Quellcode:
  Line := SendMessage(RichEdit.Handle, EM_LINEFROMCHAR, RichEdit.SelStart, 0);
  RichEdit.SelStart := RichEdit.Perform(EM_LINEINDEX, Line, 0);
  RichEdit.SelLength := Length(RichEdit.Lines[Line]);
Aber das geht nur dann wenn man das im onclick oder so des JvRichEdits benutzt. Bei mir muss das ganze beim klicken eines Buttons passieren.
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#4

Re: Einzelne Zeile farbig im JvRichEdit

  Alt 14. Jul 2005, 21:51
Hallo Neuni,

ich habe es mal ausprobiert:

Delphi-Quellcode:
procedure TFAuf.SpeedButton4Click(Sender: TObject);
const
  crlf = chr($0D) + chr($0A); // #13#10
begin
  s := rtfpp.Text;
  i := Pos(crlf, s);
  if i > 0 then begin
    rtfpp.SelStart := i +1; // <-- hier hatte ich +2 erwartet
    s := copy(s, i +1, length(s));
    i := Pos(crlf, s);
    if i = 0
      then rtfpp.SelLength := length(s)
      else rtfpp.SelLength := i;
    rtfpp.SelAttributes.Color := clBlue;
  end;
end;
Mit dem obigen Code wird die 2. Zeile auf Farbe Blau gesetzt und komplett fett geschrieben.
Damit wäre Dein Problem wohl gelöst, Du mußt Dir nur überlegen, wie Du die Stelle findest, die Du vom Programm aus ändern willst. Soll eine ganze Zeile markiert (= geändert) werden, dann mußt Du das ganze bloß noch in eine entsprechende Schleife verpacken.

mfg
eddy
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#5

Re: Einzelne Zeile farbig im JvRichEdit

  Alt 15. Jul 2005, 00:01
Habs schon hinbekommen. Hier meine Lösung:
Delphi-Quellcode:
i := chat.Lines.Count-1;
chat.SelStart := chat.Perform(EM_LINEINDEX, i, 0);
chat.SelLength := Length(chat.Lines[i]);
chat.SelAttributes.Color := edit1.Font.Color;
chat ist ein JvRichEdit.
i ist als integer festgelegt.

Es wird also immer die letzte Zeile gefärbt, denn die Nachricht die man einträgt ist ja immer die letzte.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 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