Hab jetzt gerechnet
t1 = Textbreite erster Teil
t2 = Textbreite zweiter Teil
tt = Speichere mir rect.left
Berechnung (für DT_LEFT, also selbst zentrieren):
rect.left = tt + (ceil(rect.width/2))-(ceil((t1+t2)/2));
Erster Teil mit DrawText ausgeben, dann Rect.Left mit t1 addieren und zweiten Teil mit neuem DrawText ausgeben.
Muss aber mit dem Canvas noch was machen. Um die Textbreiten zu speichern (mit Canvas.TextWidth), nutze ich dasselbe Canvas. Ich muss hier "Font.Size" mal kleiner und mal wieder höher stellen. Auch für DrawText das gleiche Spiel mit Font.Size hin und her.
Schönen Sonntag den Lesern
P.s.
DT_CALCRECT verstehe ich so, dass mir hier mein Rect ggf. geändert wird. Mein Rect (Rahmen) soll sich in der Breite/Höhe nicht ändern.