我正在使用一些 GDI 绘图进行 MFC 项目。我使用withDC.DrawText
将垂直文本绘制到 aDC
中。当我以所需的垂直格式使用时,会输出文本。然而,为了使这个文本居中,我使用了对参数的调用。我认识到,尽管文本确实是垂直绘制的,但宽度大于高度。我的直觉告诉我,垂直绘制的文本的高度应该大于宽度。我没有包括使文本居中的计算。问题是当我实现垂直居中时我可以依赖什么。LOGFONT
lfEscapement = 900
DT_NOCLIP
DC.DrawText
DT_CALCRECT
CRect
是否忽略擒纵DC.DrawText
?DT_CALCRECT
void CMFCFontTestDlg::OnPaint()
{
CPaintDC dc(this); // Gerätekontext zum Zeichnen
if (IsIconic())
{
...
}
else
{
CDialogEx::OnPaint();
CRect clTextRect;
CFont myFont;
myFont.CreateFont(12, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, _T("Tahoma"));
CFont* oldFont = dc.SelectObject(&myFont);
dc.DrawText(_T("000000"), clTextRect, DT_CALCRECT);
clTextRect.MoveToXY(100, 100);
dc.DrawText(_T("000000"), clTextRect, DT_NOCLIP);
dc.SelectObject(oldFont);
}
}