如何在打印机上通过字号计算字体的高度

解决方案 »

  1.   

    CFont      YourFont;
    TEXTMETRIC TextM;
    ...
    pDC->SelectObject( &YourFont );
    pDC->GetTextMetrics(&TextM);
    FontHeight = TextM.tmHeight;
    FontWidth  = TextM.tmAveCharWidth;
      

  2.   

    YourFont.CreateFont(MulDiv(16,m_xLogPixPerInch,72), 0, 0, 0, 
                               ------字号
          FW_NORMAL, FALSE, FALSE, 0, 
          ANSI_CHARSET,
                              OUT_DEFAULT_PRECIS,
                              CLIP_DEFAULT_PRECIS,
                              PROOF_QUALITY,
                              VARIABLE_PITCH | 0x04 | FF_DONTCARE,
                              "宋体");
    你在打印机设备上设置字体时指定字号,然后再计算字体高度不行吗
      

  3.   

    就是因为不好设置打印机字号
    MulDiv(16,m_xLogPixPerInch,72)就是字号高度
    但是它计算不精确.