Vertikale Schrift positionieren?
-
Ich schreibe mir zur Zeit eine Klasse um ein Diagramm darzustellen.
Die Y-Achsen Beschriftung soll vertikal sein,daher benutze ich folgenden Font:CFont * title_axisfont = new CFont(); title_axisfont->CreateFont( 10, 0, -900, 0, FW_NORMAL, false, true, false, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH|FF_SWISS, "Arial");
Das klappt auch aber ich kriege jetzt den Text nicht mehr ordentlich positioniert.
if(!y_axis.axis_title.IsEmpty()) { old_font = dc.SelectObject(y_axis.axis_titlefont); TEXTMETRIC tm; dc.GetTextMetrics(&tm); CRect title_rect = y_axis.axis_area; //title_rect.BottomRight().x = 10 +tm.tmHeight; Wenn diese Zeilenicht auskommentiert ist wird der Text nicht gezeichnet, dc.DrawText(y_axis.axis_title,title_rect,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS); //Trotz DT_VCENTER und DT_CENTER klebt der Text an der oberen Kante dc.SelectObject(old_font); }
Irgendwelche Vorschläge was ich machen könnte?
-
Hi,
DT_VCENTER funktioniert nur, wenn auch DT_SINGLELINE gesetzt ist (s. MSDN).
Vielleicht löst es dein problem ja schon.
Gruss
EB