其他的画几何形体都随映射模式的改变而改变,但画出的字符(drawtext)的高度却保持不变(宽度在变化)奇怪!

解决方案 »

  1.   

    谁说不会变
    pDC->SetBkMode (TRANSPARENT);
    pDC->SetTextColor (RGB (255,0,0));
    CFont font;
    LOGFONT stFont; //字体定义结构
    memset(&stFont, 0, sizeof(LOGFONT));
    stFont.lfHeight=MulDiv(14, -pDC->GetDeviceCaps(LOGPIXELSY), 72);
    stFont.lfWeight=FW_NORMAL;
    stFont.lfClipPrecision=CLIP_LH_ANGLES;
    strcpy (stFont.lfFaceName, "Arial");
    stFont.lfEscapement=150;
    font.CreateFontIndirect(&stFont);
    CFont* pOldFont=pDC ->SelectObject(&font);
    pDC->TextOut(12,12,"kkkkkkkkkkkkkkkk");
    font.DeleteObject();
      

  2.   

    我用setwindowext setviewportext 来改变映射模式,同一字体所显示的尺寸应该也要相应缩放。比如:一串字符 :xx字体 在100%显示时 长度为a,高度为b(绝对大小);那在200%显示时,长度为2a,高度为2b。但好象现在是2a,b 。