Moin,
wenn ich mit unterschiedlichen Fontgrößen in eine Zeile mit e.Graphics.DrawString unterschiedliche Zeichen schreiben will, so gelingt es mir nicht, die
Grundlinie zu treffen. Font.height gibt ja die gesamte Zeilenhöhe zurück, was Graphics.MeasureString genau zurückgibt weiß ich nicht, aber wahrscheinlich die Gesamthöhe (p-Linie bis k-Linie)
Schreib ich nun zB
e.Graphics.DrawString(tx, fntSmall, Brushes.Black, lX, yy)
und dann einen anderen Text in die gleiche Zeile mit
strSize1 = e.Graphics.MeasureString(tx, fntSmall)
tx = "Was anderes"
strSize2 = e.Graphics.MeasureString(tx, fntBig)
e.Graphics.DrawString(tx, fntBig, Brushes.Black, xNEU, yy + strSize1.Height - strSize2.Height)
So ist der 2. String höher als die Grundlinie des 1. Strings. Scheint mir verständlich, da ich ja eigentlich nur mit der (ca.) Versalhöhe arbeiten müsste. Ich finde hier aber in VB keine rechte Lösung.
Kann mir jemand helfen?
Nachtrag: Habs auch mit GetCellAscent versucht, da wird das Zeichen mit dem großen Font etwas zu niedrig gesetzt.