![]() |
Re: TSynEdit Aktuelle Zeile Farbig
Hallo, versuchs doch mal hiermit:
Delphi-Quellcode:
farbig ist dabei eine Boolean-Variable, mit der die Markierung der aktuellen Zeile ein und ausgeschaltet werden kann. iOffset ist eine Integer-Variable.
procedure TEditForm.SynEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if farbig then begin if Key = VK_DOWN then iOffset := 1; if (Key = VK_UP) then iOffset := -1; if ((SynEdit1.CaretY = 1) and (iOffset = -1)) or ((SynEdit1.CaretY = SynEdit1.Lines.Count) and (iOffset = 1)) or (not (Key in [VK_DOWN,VK_UP])) then iOffset := 0; SynEdit1.Refresh; end; end; Weiter geht's:
Delphi-Quellcode:
Mit bg wird die Farbe festgelegt.
procedure TEditForm.SynEdit1SpecialLineColors(Sender: TObject;
Line: Integer; var Special: Boolean; var FG, BG: TColor); begin if farbig then begin if (Line = (SynEdit1.CaretY+iOffset)) then begin Special := true; bg := clYellow; end; end else Special := False; end; Anzeigen der aktuellen Zeile und Spalte z. B. in einer Statusbar:
Delphi-Quellcode:
Hoffe, geholfen zu haben. :coder:
procedure TEditForm.SynEdit1StatusChange(Sender: TObject;
Changes: TSynStatusChanges); begin if Changes * [scAll, scCaretX, scCaretY] <> [] then Statusbar1.Panels[1].Caption := Format(' Zeile:%6d, Spalte: %3d', [SynEdit1.CaretY, SynEdit1.CaretX]); end; |
Re: TSynEdit Aktuelle Zeile Farbig
danke hincapie Funktioniert! Super :)
Und ja ich weiß wo und was der Objekt inspektor ist ich habe bloß nicht an die Ereignisse selbst gedacht... . |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 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