同一个字体,同一字号,映射模式单位0.01mm,屏幕的CDC和打印/打印预览的CDC下用
TEXTMETRIC metrics;
pDC->GetTextMetrics(&metrics);metrics.tmMaxCharWidth
metrics.tmAveCharWidth
metrics.tmHeight不同,打印状态下更大一点CSize size=pDC->GetTextExtent(str);也是打印的大一点我输出在一个画的框的中间,打印出来和屏幕看到的是一样的,大小也一样,但是预览中字符串把边框盖住了一点.....请指教,谢谢
TEXTMETRIC metrics;
pDC->GetTextMetrics(&metrics);metrics.tmMaxCharWidth
metrics.tmAveCharWidth
metrics.tmHeight不同,打印状态下更大一点CSize size=pDC->GetTextExtent(str);也是打印的大一点我输出在一个画的框的中间,打印出来和屏幕看到的是一样的,大小也一样,但是预览中字符串把边框盖住了一点.....请指教,谢谢
分辨率因为不同DC的分辨率不一样, 创建字体要这个大小来创建
比如:
nDpi = GetDeviceCaps(hDC, LOGPIXELSY);
CreateFontA(MulDiv(nFontSize, nDpi, -72),
0 , 0 , 0 , fnWeight , FALSE , FALSE , FALSE ,ANSI_CHARSET ,
OUT_DEFAULT_PRECIS ,CLIP_DEFAULT_PRECIS , DEFAULT_QUALITY ,
DEFAULT_PITCH | FF_DONTCARE, pFontName);
pDC->SetMapMode(MM_HIMETRIC);
应该和分辨率没有关系了