![]() |
SynEdit Keyword Highlight
Hallo!
Da es hier mal etliche Leute gab die sich mit SynEdit auskannten frag ich einfach mal. Ich suche eine Möglichkeit, ein bestimmtes Keyword mit einer anderen Hintergrundfarbe hervorzuheben. Dabei soll aber nicht der aktuelle Syntax Highlighter geändert werden. Ich möchte nur die Suchfunktion nachbilden wie sie z.B. der aktuelle Opera-Browser verwendet (und auch euer Foren-Script hier so ähnlich ^^): 1. Man gibt ein Keyword in die Suche ein 2. Der erste Treffer wird in clHighlight und clHighlightText dargestellt 3. Alle weiteren Treffer werden in clYellow und clWindowText dargestellt Von der Sache her habe ich versucht, die Routine hinter GetMatchingBrackets zu adaptieren aber das war a) reichlich schwierig und b) am Ende hochgradig inperformant weil der Algorithmus für einzelne Zeichen gedacht ist. Gibts vielleicht eine elegante Lösung die ich in Betriebsblindheit übersehen habe? Grüße Cody |
AW: SynEdit Keyword Highlight
Vielleicht OnPaintTransient? Ich hab noch nie damit gearbeitet und bin mir ehrlich gesagt auch nicht sicher, wofür das genau gut ist, aber es geht wohl irgendwie in die Richtung. Kannst ja mal nach ...\SynEdit\Demos\OnPaintTransientDemo schauen.
|
AW: SynEdit Keyword Highlight
Das mit dem OnPaintTransient ist schon klar, GetMatchingBrackets ist ja auch dort imlementiert.
|
AW: SynEdit Keyword Highlight
|
AW: SynEdit Keyword Highlight
Zitat:
könnte man so sagen dass der geholfen hat ;-) Prinzipiell war ich schon auf dem selben Weg, die Lösung dort ist aber kürzer und eleganter. Hat aber auch noch ein paar Bugs zum Schluss gehabt (Regex-Patterns führten zu falschen Markierungen, Markierung am aktuellen Cursor auch gelb statt blau). Ließ sich aber einfach beheben und funkt nun prima. Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 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