![]() |
im TRichEdit navigieren ?
Moin,
ich stecke hier in einem RichEdit fest. :shock: Da werden einzelne Wörter gesucht. Die gefundenen werden markiert und dann wird Font.Style etc. für die Markierung (über SelStart,SelLength usw.) geändert. Diese Wörter sollen beim Ausdrucken auffallen, darum geht es. Wenn nun auf der ersten Seite des RichEdits nur ein solches Wort vorkommt und es folgen noch welche, dann ist davon nichts zu sehen. Der Cursor bleibt unsichtbar bzw. der Text wird nicht an die betreffende Stelle weitergescrollt. Jetzt muss ich da zigmal auf weiter drücke, bis das letzte Wort markiert wird. Und alles im Blindflug. Das ist ätzend. :mrgreen: Habe das per Finddialog gemacht (siehe Bsp. in OH). Noch besser wäre es ein Wort einzugeben und alle Vorkommnisse entsprechend zu markieren. Wer weiß, wie das geht ? |
Re: im TRichEdit navigieren ?
Hi!
Willst du die Wörter einfach nur kennzeichnen, sodass man sie auf dem Ausdruck sieht oder willst du auch für den User eine Visualisierung des "Kennzeichnen-Vorgangs"? Ciao, Frederic |
Re: im TRichEdit navigieren ?
Das wird doch im Richedit (welches dann eben mit .print gedruckt wird) bereits visualisiert. Nur ich seh nichts davon. :mrgreen: außer auf der ersten Seite. Durch die dauernde Weiter-Drückerei sieht man eben nicht, wo er gerade dran ist. Insbesondere nicht, ob das Ende erreicht ist.
|
Re: im TRichEdit navigieren ?
Liste der Anhänge anzeigen (Anzahl: 1)
Moin, Moin.
So ganz verstehe ich das Problem noch nicht. Habe im Anhang mal einen ScreenShot meines aktuellen Projektes beigefügt. Dort wird in einem Text der Begriff "treeview" in einem Richedit markiert. Es gibt 9 Fundstellen, alle sind hellblau markiert, die einzelnen Fundstellen können angesprungen werden, die aktuelle Fundstelle ist dann braun markiert. Nach jedem Sprung ist gewährleistet, dass die aktuelle Markierung im sichtbaren Bereich liegt - ist das damit gemeint? |
Re: im TRichEdit navigieren ?
So ungefähr. 8)
|
Re: im TRichEdit navigieren ?
Hallo Hansa,
hast Du vielleicht soetwas gesucht ? Der Quellcode sucht die alle Wörter und makiert diese in Rot und in Fett. Dabei ist die Groß-/Kleinschreibung egal.
Delphi-Quellcode:
SearchKeywords ist ein String, welches die Begriffe durch ein Leerzeichen getrennt enthält. Die Funktion Explode trennt diesen String schreibt das Ergebnis in ein Array. Der Rest sollte sich von selbst erklären. M_Description ist ein ganz einfache TRichEdit.
Explode(SearchWords, ' ', SearchKeywords);
for J := 0 to Length(SearchWords) - 1 do begin Offset := 1; StringReplace(M_Description.Lines.Text, #13#10, ' ', [rfReplaceAll]); repeat SelectStart := PosEx(UpperCase(SearchWords[j]), UpperCase(M_Description.Text), Offset); if SelectStart <> 0 then begin M_Description.SelStart := SelectStart - 1; M_Description.SelLength := Length(SearchWords[j]); M_Description.SelAttributes.Style := [fsBold]; M_Description.SelAttributes.Color := clRed; M_Description.SelLength := 0; Offset := SelectStart + Length(SearchWords[j]); end; until SelectStart = 0; end; |
Re: im TRichEdit navigieren ?
Thx,
mit dem Source von taaktaaks Screen hätte das was gebracht. Vorhaben ist quasi bereits erledigt. Sieht ähnlich aus wie der Quelltext von RWarnecke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 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