| |
| Wie Sie mit 3D-Druck glattere Oberflächen erhalten, eine Pressemitteilung
|
Autor
|
Thema: .NET: RichTextBox aus Programm scrollen (2333 mal gelesen)
|
mseufert Ehrenmitglied V.I.P. h.c. Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005
|
erstellt am: 22. Jan. 2010 10:13 <-- editieren / zitieren --> Unities abgeben:
Hallo miteinander, kennt jemand eine Möglichkeit, den Inhalt einer RichTextBox per Code gezielt zu scrollen ? Die Methode scrolltocaret läßt leider keine explizite Angabe zu, wohin bzw. wie weit gescrollt werden soll. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 25. Jan. 2010 08:18 <-- editieren / zitieren --> Unities abgeben: Nur für mseufert
Hallo Michael, eine sehr einfache Möglichkeit besteht darin, in der RichTextBox Text zu markieren.
Code: 'Nach oben scrollen .Find("Anfangstext:") .DeselectAll()
Die RichTextBox scrollt automatisch zum markierte Text.
------------------ Mfg Daniel www.MySldWorks.de - SolidWorks API Snippets Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Ehrenmitglied V.I.P. h.c. Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005
|
erstellt am: 25. Jan. 2010 11:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, besten Dank für den Tip. Über die Selektion scrollt die RichTextBox schon, nur leider nicht so wie gewollt. Problem dabei u.a.: Nicht überall, wo man's braucht, ist auch Text zu finden, z.B. in kurzen oder leeren Zeilen. Nach einiger Sucherei fand sich auf msdn ein Beispiel zum scrollen einer TextBox über SendMessage, was bei einer RichTextBox vertikal funktioniert, horizontal geht's damit bisher auch nicht ... ist aber zumindest ein Fortschritt. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 25. Jan. 2010 11:50 <-- editieren / zitieren --> Unities abgeben: Nur für mseufert
|
mseufert Ehrenmitglied V.I.P. h.c. Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005
|
erstellt am: 25. Jan. 2010 12:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, nochmals Danke. Der Index bezieht sich leider auf den Text, der eben nicht überall verfügbar ist. Auffüllen mit Blanks bis zum Zeilenende hab' ich schon versucht, dabei gehen dann zuvor gesetzte Formatierungen flöten . Schön, aber auch ein Umweg wäre, wenn der Index als x,y- Position angegeben werden könnte. Eine einfache Lösung, mit der z.B. y Zeilen hoch/runter oder x Zeichen links/rechts gescrollt werden, wäre ideal (RichTextBox.scroll(x,y) , gibt's in der RichTextBox- Klasse aber offensichtlich nicht. Da bleibt für .Net 4.0 noch genügend Luft nach oben. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Ehrenmitglied V.I.P. h.c. Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 30. Jan. 2010 13:20 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, nach einigem Hin- und Her klappt's jetzt in zwei Schritten. Der erste Schritt geht über rtb.scrolltocaret(), dann steht der gesuchte Text in der obersten Zeile des sichtbaren Bereichs. Anschließend nochmal über die Windows- API mit SendMessage() vertikal gescrollt, steht der Text endlich da, wo er soll. SendMessage scrollt bei einer TextBox horizontal und vertikal, bei einer RichTextBox merkwürdigerweise nur vertikal. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |