Problem mit Richtext-Box

codeman

Erfahrenes Mitglied
Hallo!

Ich schreib grad ein Programm in VB6, hab aber ein Problem mit der Richtext-Box.
Und zwar sollte man in eine RT-Box etwas eingeben und wenn das Textende z.B. 5 cm vom oberen Text-Box-Rand entfernt ist soll der Curser automatisch in die nächste RT-Box springen.

Maxlength oder so geht desswegen nicht da der Benutzer die Schriftgröße selbst bestimmen kann und ich aber keine Scroll-Leisten haben will sondern einfach eine neue RT-Box.

Danke,
Codeman.

_________________________________________

Wieso kann mir keiner helfen? :(
 
Zuletzt bearbeitet:
Die Höhe eines Textes kannst du beispielsweise über die Funktion TextHeight herausfinden, die manche Steuerelemente besitzen. Allerdings kann damit nicht die Höhe eines RichtTexts ermittelt werden sondern nur die Höhe von einem (normalen) Text in einer bestimmten Schriftart.

Die RichtTextBox hat (glaube ich) keine TextHeight-Funktion. Das heißt, du müsstest die TextHeight-Funktion einer PictureBox oder die der Form verwenden:
Code:
Höhe = Me.TextHeight ("Test-Text")
bzw.
Höhe = Me.TextHeight (Me.RichTextBox1.Text)
Hier wird die TextHeight-Funktion der Form verwendet, wobei das Ergebnis der Funktion von der in "Me.Font" eingestellten Schriftart abhängt.
 
Am besten, Du versuchst es mal mit einer Api. Wenn Du nach der passenden Const suchst, denke daran, daß der Curser eigentlich Caret heißt. Die Konstante heißt (glaube ich) GetCaretPos).
Diese gibt Dir die Position des Caret in x und y-Koordinaten an (Twips). Bedenke auch, daß der Rückgabewert sich auf den obersten Punkt Deines Carets bezieht, d.h. erst mal Enter, dann feststellen, daß die Pos. > 5cm ist und dann Focus auf neue RTF.
Die API findest Du mit dem API-Viewe. Besser Du schaust mal unter vb@rchiv. Da sind APIs mit Beispielen.
 
Zurück