![]() |
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] |
Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
Alles selber zeichnen :wink: . AFAIR gibt es aber eine passende Property beim SynEdit.
|
Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
Wo und vorallem welche Unit ? Dann könnte ich es mir ja evtl. ableiten.
|
Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
Dann halt anders:
Delphi-Quellcode:
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.
SelectedSheet := Pages.ActivePage;
with TExtendedTabSheet(SelectedSheet) do begin with fMemo.CaretPos do Edit2.Text := Format('(%d, %d)',[X+1,Y+1]) end; |
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:
Das färbt jede zweite Zeile gelb.
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]); |
Re: Aktuelle Zeile im Memo farblich hervorheben (wie in BDS)
Zitat:
|
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 !
|
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?
|
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.
|
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 15:49 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