Delphi-PRAXiS

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 SynEdit: oberste Zeile im sichtbaren Bereich? (https://www.delphipraxis.net/196385-synedit-oberste-zeile-im-sichtbaren-bereich.html)

SearchBot 17. Mai 2018 12:16

SynEdit: oberste Zeile im sichtbaren Bereich?
 
Hi,

ich knoble gerade herum, wie ich die oberste Zeile im sichtbaren Textbereich im SynEdit ermittle.

Mit SynEdit.LinesInWindow weiß ich, wieviele Zeilen sichtbar sind.

TopLine funktioniert nur beschränkt bzw nicht mehr, wenn ich ein paar Zeilen dazwischen habe, die umgebrochen werden...

Gutter.LineNumberStart ist es auch nicht.

Da ich aber durch den Text scrolle, könnte es zB als oberste sichtbare Zeile laut Gutter 280 sein. Wie finde ich diesen Wert heraus? Oder in welcher Variable kann ich den Wert abrufen?

SearchBot 18. Mai 2018 12:51

[gelöst] SynEdit: oberste Zeile im sichtbaren Bereich?
 
Ok,

habs schon selber rausbekommen.
Die Komponenten zeigt beim scrollen ja so einen Hint an - also diesen Quelltext gesucht und übernommen :stupid:

Delphi-Quellcode:
 with SynEdit1 do begin
  Label1.Caption:=inttostr(RowToLine(TopLine));
  Label2.Caption:=inttostr(RowToLine(TopLine + Min(LinesInWindow, DisplayLineCount-TopLine)));
 end;
Für
Code:
Min()
wird die unit
Code:
math
benötigt.

Problem gelöst :-D

KodeZwerg 18. Mai 2018 13:02

AW: SynEdit: oberste Zeile im sichtbaren Bereich?
 
Ich kenne SynEdit nur vom hören sagen, irgendwas mit Text highlighnting.
Wenn es eine Scrollbar hat, reicht da nicht über Caret eine 0 zu setzen und man ist ganz oben?


Sorry war murks, SICHTBARER hatte ich überlesen. Super Lösung!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 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