Wenn man lange Strings/Texte mit meinen Methoden, die im Tipp Voraussetzung für alle Ausgaben ist, dass bei Aufruf von e.Graphics.Drawstring der Paramater StringFormat verwendet wird. e.Graphics.DrawString(myText, myFont, myBrush, myRect, myStringFormat) So muss man das Stringformat möglichst in folgender Weise definieren: Dim myStringFormat As StringFormat, myTabstopp As Single With myStringFormat .LineAlignment = StringAlignment.Near .Alignment = StringAlignment.Near .SetTabStops(0, myTabstopp) End With D.h., mit SetTabStops wird ein Tabstopp für die Ausgabe an gewünschter Stelle definiert. Wie/wo setzt man aber diese Stelle optimal, das zeigen die folgenden Tipps. 1. Positiver Erstzeileneinzug 2. Negativer Erstzeileneinzug Bsp.: myText = wrapStringSpecChar(myText, the_font, layout_rect.Width, _ e.Graphics, vbCrLf & vbTab) 3. Vorgehen bei negativem Erstzeileneinzug und Zeilennummerierung Zwei Möglichkeiten: entweder man kennt die maximale Anzahl der zu erwartenden Zeilen oder nicht. Und ich gehe davon aus, dass der anzuwendende Font nicht proportional ist. Im ersten Fall kann man die Position folgendermaßen bestimmen: Dim maxAnz As Short, myTabstopp As Single myTabstopp = Format(maxAnz, "#").Length dann With myStringFormat .LineAlignment = StringAlignment.Near .Alignment = StringAlignment.Near .SetTabStops(0, myTabstopp) End With und wie unter 2. beschrieben weiterarbeiten. Im anderen Fall kann man nur schätzen oder experimentieren... oder aber:
Dieser Tipp wurde bereits 7.237 mal aufgerufen.
Anzeige
![]() ![]() ![]() Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats TOP! Unser Nr. 1 ![]() Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
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. |