Wordwrap

Status
Niet open voor verdere reacties.

wdevaal

Gebruiker
Lid geworden
19 nov 2001
Berichten
74
Ook ik heb wel eens wat hulp nodig, zo ook deze keer met Microsoft Visual Studio 2010 Express.

Ik heb een Tekstbox “Me.OpmerkingTextBox.Text” op mijn Form1.vb staan, waarbij Multiline en Wordwrap True is verder hier geen probleem mee.

Maar nu moet ik dit tekstbox ook afdrukken, en dat doe ik met de volgende code:

Code:
e.Graphics.DrawString(Me.OpmerkingTextBox.Text, objLetterTypeTekst, Brushes.Black, intMarginsLeft, intMarginsTop)

Het probleem is echter dat als de string lengte groter is dan 200 tekens de tekst van de pagina afloopt, na veel probeer en test werk lukt het me niet om tijdens het afdrukken hier ook Wordwrap toe te passen :confused:

Mvg Willy...
 
Laatst bewerkt:
Dat de textbox wordwrap toepast wil nog niet perse zeggen dat de inhoud van Me.OpmerkingTextBox.Text ook gesplitst is in meerdere strings, toch?
Het lijkt me niet. Misschien kun je het checken in debug mode, misschien heb ik wel ongelijk.

Anders:
Me.OpmerkingTextBox.Text opsplitsen in afzonderlijke strings van de gewenste lengte.
Dan één voor één door die drawstring heen gooien.
 
Beste evertVB

De tekst in “Me.OpmerkingTextBox.Text” wordt door het programma ontdaan van eventuele Enter en Linefeed tekens die de gebruiker invoert, het is/wordt dus uiteindelijk één lange string.

Dit doe ik omdat als ik de tekst exporteer naar een csv bestand de tekst ook als één string in een veld moet komen, dit gaat fout als er Enter en/of Linefeed tekens in voorkomen.

Het opsplitsen van de string “als die te lang is” doe ik nu ook, maar dan breekt hij soms de woorden net midden in het woord af, en dat vind ik er niet netjes uitzien.

Mvg Willy...
 
Ik heb de oplossing "met wat aanpassingen" gevonden op deze site http://www.codeproject.com/KB/printing/WordWrap.aspx

Code:
Dim strLine As String = Notting
Dim sf As StringFormat = StringFormat.GenericTypographic

sf.Alignment = StringAlignment.Near
sf.LineAlignment = StringAlignment.Near
sf.FormatFlags = StringFormatFlags.LineLimit
sf.Trimming = StringTrimming.Word

strLine = Me.OpmerkingTextBox.Text

e.Graphics.DrawString(strline, objLetterTypeHeader, Brushes.Black, _
           New RectangleF(intMarginsLeft, intMarginsTop, e.MarginBounds.Size.Width, _
           e.MarginBounds.Size.Height), sf)

Dit doet nu wat ik ervan verwachte, bedankt voor het mee denken.

mvg Willy...
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan