同一个字体,同一字号,映射模式单位0.01mm,屏幕的CDC和打印/打印预览的CDC下用
TEXTMETRIC metrics;
pDC->GetTextMetrics(&metrics);metrics.tmMaxCharWidth
metrics.tmAveCharWidth
metrics.tmHeight不同,打印状态下更大一点CSize size=pDC->GetTextExtent(str);也是打印的大一点我输出在一个画的框的中间,打印出来和屏幕看到的是一样的,大小也一样,但是预览中字符串把边框盖住了一点.....请指教,谢谢

解决方案 »

  1.   

    Number of pixels per logical inch 
    分辨率因为不同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);
      

  2.   

    还是不行,我前面已经用了
    pDC->SetMapMode(MM_HIMETRIC);
    应该和分辨率没有关系了