Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aktuelle Zeile im Memo farblich hervorheben (wie in BDS) (https://www.delphipraxis.net/59792-aktuelle-zeile-im-memo-farblich-hervorheben-wie-bds.html)

Nils_13 28. Dez 2005 18:03


Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Hi,

wie kann ich/kann ich überhaupt in einem Memo die aktuelle Zeile (--> also die Zeile in der ich mich befinde) farblich hervorheben ? [Wie in Delphi 2006]

Khabarakh 28. Dez 2005 18:06

Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Alles selber zeichnen :wink: . AFAIR gibt es aber eine passende Property beim SynEdit.

Nils_13 28. Dez 2005 18:41

Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Wo und vorallem welche Unit ? Dann könnte ich es mir ja evtl. ableiten.

Nils_13 29. Dez 2005 10:42

Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Dann halt anders:
Delphi-Quellcode:
  SelectedSheet := Pages.ActivePage;
  with TExtendedTabSheet(SelectedSheet) do
  begin
    with fMemo.CaretPos do
    Edit2.Text := Format('(%d, %d)',[X+1,Y+1])
  end;
So finde ich die Caret-Position heraus. X ist die X-Position und Y- ist die Zeile (also die Y-Position). Ich muss jetzt nur wissen, wie ich die Farbe einer Spalte verändern kann.

Hansa 29. Dez 2005 11:06

Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Mache das mit einer Listbox und fertig. Beim Memo wirds zu kompliziert, dem das beizubringen.

Doch noch auf die Schnelle gefunden :
Delphi-Quellcode:
    if Index mod 2 = 0 then begin
      Listbox1.Canvas.Brush.Color := clYellow;
      Listbox1.Canvas.FillRect(Rect);
      Listbox1.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
    end
    else
      Listbox1.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
Das färbt jede zweite Zeile gelb.

jim_raynor 29. Dez 2005 11:10

Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Zitat:

Zitat von Hansa
Mache das mit einer Listbox und fertig. Beim Memo wirds zu kompliziert, dem das beizubringen.

Nur das man damit nicht den Text bearbeiten kann :lol:. Und darum gehts doch vermutlich Nils.

Hansa 29. Dez 2005 11:22

Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Man sollte auch sagen, was man will. Raterei alleine nützt nichts. Ein Memo hat nun mal kein Canvas. Deshalb wirds kompliziert. IMHO für den Zweck viel zu kompliziert. Ich würde da jetzt auch nicht mit dem Holzhammer rumhantieren und irgend was "passend" machen. Kann man in eine ListBox nichts eingeben ? Ist auch egal, es gibt Komponenten genug. Dann soll er eben ein Stringgrid mit einer Spalte nehmen. Da geht das alles definitiv !

St.Pauli 29. Dez 2005 11:29

Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Warum benutzt du nicht einfach TSynEdit oder TSynMemo? Beide Komponenten haben die Property unter ActiveLineColor. Was hält dich am Memo?

Nils_13 30. Dez 2005 09:37

Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Ich kann keine ListBox nehmen. Der Sinn ist ja, das man was man will frei eintippen kann. SynEdit und SynMemo gehen nicht, da ich einen eigenen Typen von einem Memo für meinen Highlighter habe, ist auch nicht so umständlich wie mit dem SynEdit.

PierreB 30. Dez 2005 09:49

Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
 
Die SynEdit-Komponenten sind doch relativ einfach anzuwenden, und schwieriger als einem Memo farbige Zeilen beizubringen garantiert nicht. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 Uhr.
Seite 1 von 3  1 23      

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