AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

im TRichEdit navigieren ?

Ein Thema von Hansa · begonnen am 12. Feb 2009 · letzter Beitrag vom 13. Feb 2009
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

im TRichEdit navigieren ?

  Alt 12. Feb 2009, 20:25
Moin,

ich stecke hier in einem RichEdit fest. 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.

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 ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: im TRichEdit navigieren ?

  Alt 12. Feb 2009, 20:27
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
Frederic Kerber
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: im TRichEdit navigieren ?

  Alt 12. Feb 2009, 20:34
Das wird doch im Richedit (welches dann eben mit .print gedruckt wird) bereits visualisiert. Nur ich seh nichts davon. 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.
Gruß
Hansa
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#4

Re: im TRichEdit navigieren ?

  Alt 12. Feb 2009, 21:24
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?
Miniaturansicht angehängter Grafiken
richedit_916.jpg  
Ralph
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: im TRichEdit navigieren ?

  Alt 12. Feb 2009, 22:38
So ungefähr. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

Re: im TRichEdit navigieren ?

  Alt 12. Feb 2009, 22:58
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:
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;
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.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: im TRichEdit navigieren ?

  Alt 13. Feb 2009, 00:22
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.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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