Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TSynEdit Aktuelle Zeile Farbig (https://www.delphipraxis.net/79290-tsynedit-aktuelle-zeile-farbig.html)

hincapie 20. Okt 2006 06:58

Re: TSynEdit Aktuelle Zeile Farbig
 
Hallo, versuchs doch mal hiermit:
Delphi-Quellcode:
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;
farbig ist dabei eine Boolean-Variable, mit der die Markierung der aktuellen Zeile ein und ausgeschaltet werden kann. iOffset ist eine Integer-Variable.
Weiter geht's:
Delphi-Quellcode:
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;
Mit bg wird die Farbe festgelegt.

Anzeigen der aktuellen Zeile und Spalte z. B. in einer Statusbar:
Delphi-Quellcode:
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;
Hoffe, geholfen zu haben. :coder:

Flom 20. Okt 2006 10:59

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.
Seite 2 von 2     12   

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