Wenn man lange Strings/Texte mit meinen Methoden, die im Tipp Umbrechen langer Strings mittels Measurement-Methode und speziellen Funktionen vorgestellt werden, am Anfang der Ausgabe mit positivem oder negativem Erstzeileneinzug versehen möchte, kann man das mit den im Folgenden beschriebenen Vorgehensweisen realisieren. 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 6.793 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 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. |
Neu! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |