Synedit MarkupSpecialline oder ähnliches

Für Installationen unter Windows
Antworten
Relexy18
Beiträge: 14
Registriert: Di 7. Mai 2019, 10:46

Synedit MarkupSpecialline oder ähnliches

Beitrag von Relexy18 »

Hallo Zusammen,

ich habe in einem Programm ein Synedit Fenster zum Anzeigen von XML-Files. Die Anzeige der XML-Files funktioniert reibungslos. Jetzt möchte ich bestimmte Einträge oder Rows farblich markieren. Hier komme ich aber irgendwie nicht weiter (große Wissenslücke :shock: :idea: )

Meine Idee war:
In einer seperaten function SeekError(var arrayError:array [0..2]of array integer) werden die Rows gespeichert wo definierte Fehler gefunden wurden (ggf. auch die Position innerhalb der Row). Im Array werden dann Position (Line, Start, End) gespeichert => es könnte auch ein TPoint verwendet werden=> je nach dem was besser ist.

mit diesem Integer Eintrag wollte ich die Positon /Row im SynEdit Fenster mit einer definierten Farbe markieren.

Bespiele
synedit1.Line.color:=newcolor (gibts aber nicht)
synedit1.markupByClass[TSyneditMarkupSpecialline].finishMakrupForRow (gibts, aber ich komm nicht weiter)

Es gibt noch gefühlt noch 100 andere Möglichkeiten, aber ich komme mit Google einfach nicht weiter, mir fehlt wohl das auführliche Wissen über "Class"

Vielleicht hat jemand eine Idee wie ich dies umsetzen kann. Über Vorschläge wäre ich sehr dankbar.

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Synedit MarkupSpecialline oder ähnliches

Beitrag von martin_frb »

Für ganze Zeilen gibts ein Event.

Code: Alles auswählen

    property OnSpecialLineColors: TSpecialLineColorsEvent read FOnSpecialLineColors write SetSpecialLineColors;  deprecated;
    property OnSpecialLineMarkup: TSpecialLineMarkupEvent read FOnSpecialLineMarkup write SetSpecialLineMarkup;
Wird bei jedem Paint, für jede Zeile aufgerufen, sollte also keine großen Arbeiten machen. Einfach im Array/liste nachschlagen, und Farbe liefern.

------------
Es gibt nen Highligter SynPosSyn. Aber ich nehm an das der XML HL läuft?

------------
Für x/y: TSynEditMarkupGutterMark (glaub ich)
Siehe IDE SourceMarks => Kompilier Fehler

Antworten