作为标题,我使用CDC工具绘制文本,如下面的代码,并使用nXOffset变量来移动位置以对齐我的文本,但是移位长度的结果是在Windows 7和windows xp中的顺序,Windows 7是可以的,但窗口xp不是我的期望。 如何解决它,以及制造什么样的问题呢?
CDC* m_cdcRealTimeValue;
m_cdcRealTimeValue->SelectObject(&mFont);
m_cdcRealTimeValue->SetTextColor(colorText);
m_cdcRealTimeValue->TextOut(rectRealTime.Width() - nXOffset,
(int)(nRealTimeRg[1] + nYGapRealTime[0]), strTempPVLastMove.Left(nPreDot), strTempPVLastMove.Left(nPreDot).GetLength());
答案 0 :(得分:0)
您可以计算文本rect并相应地移动:
CRect r(0, 0, 0, 0); // will hold the text rect
m_cdcRealTimeValue->DrawText(text, textLen, r, DT_SINGLELINE | DT_CENTER | DT_VCENTER | DT_CALCRECT);
int textWidth = r.Width();