Entwickler-Ecke
Sonstiges (.NET) - String tiefgestellt drucken / Zahlen rechts ausrichten
kevinkeegan - Mo 06.07.09 21:03
Titel: String tiefgestellt drucken / Zahlen rechts ausrichten
Hallo,
ich muss in der Druckklasse meiner Anwendung Zeichen tiefgestellt drucken und weiß nicht wie. Weiterhin brauch ich einen Ansatz, wie ich mehrere floats rechtsbündig untereinander ausgeben kann. Kann mir wer weiter helfen?
MfG
PerryRhodan - Mo 06.07.09 22:20
Hallo,
Du zeichnest doch ganz normal auf das PrintDocument? Da setzt Du halt den Offset für die Y-Koordinate bei tiefergestellten Textpassagen etwas anders und fürs rechtsbündige Ausrichten wird Dir MeasureString gute Dienste erweisen.
Grüße
PerryRhodan
kevinkeegan - Di 07.07.09 08:55
Moin,
ist mein erstes Ausgabeprogramm, deshalb mache ich wahrscheinlich noch einiges falsch.
Ja ich zeichne mit DrawString etc. direkt auf das PrintDocument. Die Koordinaten für sämtliche Strings und Images werden empirisch ermittelt. Wie machen das "die alten Hasen"? Es gibt also keine Formatierungsmöglichkeiten für Hochstellen/Tiefstellen? Dann kann ich ja wirklich nur mit der Y-Koordinate und der Schriftgröße rumbasteln. :(
Rechts ausrichten mit MeasureString ... Das ist mir noch nicht klar, wie man das realisiert. Muß man da zwangsläufig in dem DrawString als "Ziel" ein Rectangle verwenden? Die Ausrichtung rechts bekomme ich mit einem StringAlignment.Far hin? Wenn jemand ein bisschen Code als Beispiel dazu hätte wäre klasse, Danke!
MfG
JüTho - Di 07.07.09 09:09
kevinkeegan hat folgendes geschrieben : |
Es gibt also keine Formatierungsmöglichkeiten für Hochstellen/Tiefstellen? Dann kann ich ja wirklich nur mit der Y-Koordinate und der Schriftgröße rumbasteln. :( |
Mir ist auch nichts anderes bekannt.
kevinkeegan hat folgendes geschrieben : |
Rechts ausrichten mit MeasureString ... Das ist mir noch nicht klar, wie man das realisiert. |
Du müsstest eigentlich den ganzen zur Verfügung stehenden Platz kennen. Mit MeasureString bekommst du die tatsächliche Länge des Strings; daraus kannst du die (linke) Startposition berechnen.
Alternativ könntest du auch die
StringFormat-Klasse benutzen; dort gibt es auch
SetTabStops mit einem Beispiel in der
SDK-Doku/MSDN.
Gruß Jürgen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!