vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Richtextbox anhand der Textlänge ändern 
Autor: Caddy
Datum: 18.03.11 04:42

Hallo Leute,

ich denke über was nach und komm auf keine Lösung.

Ich habe eine RTF-Box. In diese kopiere ich einen Text. Nun ist die RTF-Box kleiner als der Text lang ist, so daßß vertikale Scrollbars auftauchen.
Wie kann ich nun die Höhe so verändern, dass die RTF-Box sich vergrößert bis die Scrollbar verschwindet, sprich der Text von der Höhe her rein paast.

Mit Lines auslesen und dann die Höhe bestimmen, kann ich nicht, da ich funktionell ja nur eine Line einfüge. Die Textlänge der "visuellen" Lines sind unterschiedlich lang auch aufgrund der einzelnen Zeichenlängen und WordWrap Funktion.

Wie kann ich nun die Höhe bestimmen bzw verändern, so dass die RTFBox genau so groß ist, dass der Text angezeigt wird ohne Scrollbar und der ganze Text optisch sichtbar ist?

Gruss Caddy

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Richtextbox anhand der Textlänge ändern 
Autor: Manfred X
Datum: 18.03.11 13:12

Hallo!

Ich glaube, das geht nur mit Trick.

Die Methode "GetPositionFromCharIndex" mit dem
Parameter 0 gibt an, wo sich die Position des
ersten Zeichens befindet (Point).
Nach dem Laden des Textes den Cursor an das Ende setzen
(ScrollToCaret).
Solange der Y-Wert der Position des ersten Zeichens kleiner 0 ist,
muss die Box weiter vergrößert werden. (Theorie! Nicht probiert ..)

Es gibt auch die von "Control" geerbten geschützten Eigenschaften
wie Autosize, SetAutosizemode usw. Aber ich glaube, das RTF-Control
(Ableitung) spricht darauf nicht an.

Viel Erfolg!

MfG
Manfred

Beitrag wurde zuletzt am 18.03.11 um 13:16:37 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Richtextbox anhand der Textlänge ändern 
Autor: Manfred X
Datum: 18.03.11 14:50

Hallo!

Auf ähnliche Überlegungen sind auch schon andere VBLer gekommen ...

http://www.activevb.de/tipps/vbnettipps/tipp0056.html

MfG
Manfred
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Richtextbox anhand der Textlänge ändern 
Autor: Caddy
Datum: 19.03.11 05:17

Hey danke, genau das habe ich gesucht...

Gruss Caddy

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Richtextbox anhand der Textlänge ändern 
Autor: Caddy
Datum: 01.04.11 10:22

habe den nun in mein Programm eingefügt..er macht es auch prima

Dann ist mir aber aufgefallen, dass er das nicht immer macht.
Woran kann das liegen?

Ich gehe verschiedene Datensätze durch und zeige mir diese in einer RTF-Box an...Da meine RTFbox nur begrenzt Platz hat, lass ich sie vergrößern beim MouseEnter-Event, vorausgesetzt sie muss vergrößert werden, um alles anzuzeigen. Das mach ich daran fest, ob es Scrollbalken vertikel gibt.

Manchmal öffnet sich die komplette Größe bis die Scrollbalken verschwunden sind. //so sollte es sein
Manchmal öffnet er die Box etwas größer aber es sind noch Scrollbalken zu sehen
Manchmal springt er nur an die letzte Zeile, aber an der Größe ändert sich nix

Woran kann das liegen? an der Textformatierung? an der Initialisierung irgendwelcher Variablen?

Gruss Caddy

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel