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/)
-   -   In Synedit eine Spalte farbig hinterlegen (https://www.delphipraxis.net/200560-synedit-eine-spalte-farbig-hinterlegen.html)

Codehunter 2. Mai 2019 09:48

In Synedit eine Spalte farbig hinterlegen
 
Hallo!

Ich würde gern in einem Synedit eine Spalte farbig hinterlegen (Canvas.Brush.Color). Man muss sich das so vorstellen, dass im Edit eine spaltenorientierte Datei mit fester Spaltenbreite (also ohne Separatoren wie bei CSV) geladen ist. Ich kenne bereits die Start- und Stoppositionen der einzelnen Spalten mit dem jeweiligen Character-Index. Ich dachte da an OnPaintTransient, finde aber keinen richtigen Einstieg. Daher kann ich im Moment auch keinen sinnvollen Beispielcode hier zeigen. Vielleicht kann mir ja jemand einen kleinen Schubs in die richtige Richtung geben.

Grüße
Cody

Andreas L. 2. Mai 2019 10:03

AW: In Synedit eine Spalte farbig hinterlegen
 
Vielleicht hilft dir das Event OnSpecialLineColors? Außerdem gibts noch:
  • OnPaintTransient
  • OnPaint
  • OnGutterPaint

Getestet habe ich aber nicht ob das damit geht.

Kannst du mal ein Bild posten damit man sieht wie du dir das vorstellst?

Codehunter 2. Mai 2019 10:25

AW: In Synedit eine Spalte farbig hinterlegen
 
Zitat:

Zitat von Andreas L. (Beitrag 1431440)
Vielleicht hilft dir das Event OnSpecialLineColors?

Tja, wenn das nicht nur zeilenweise käme sondern zeichenweise... wobei das dann wohl auch ein ziemlich ineffizientes Gepinsel würde.

Delphi.Narium 2. Mai 2019 14:46

AW: In Synedit eine Spalte farbig hinterlegen
 
Schau Dir bitte mal den HighLigther für Cobol an.

Der hat für die Zeilennummern die 'Sequence Number Area',
darauf folgt die 'Indicator Area'
dann der 'Quelltext' mit Snytaxhervorhebung
und dann die 'Tag Area'.

Die ersten beiden Areas und die letzte Area können jeweils mit einer "eigenen" Farbe hinterlegt werden. Ihre Breite ist fest vorgegeben, entspricht also einem statischen Spaltenaufbau.

Eventuell kannst Du damit ja was anfangen und einen eigenen HighLighter, entsprechend Deiner Dateien, davon ableiten.


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