MDI软件,我的映射模式为:MM_LOMETRIC,发现TextOut的汉字在w2k中不正常(win98下是正常的),现在不能改动映射模式MM_LOMETRIC了,又要正常显示汉字?请问有什么办法?
测试方法:在OnDraw(CDC* pDC)中加入:
pDC->SetMapMode(MM_LOMETRIC);
pDC->TextOut(100,-100,"测试,但不正常");
请教各位高手!

解决方案 »

  1.   

    你恐怕首先要创建一个汉字font,比如说是宋体。
    我倒是出现过相反的问题,在2000下显示正常,98下
    显示不正常。后来发现在98下显示汉字的时候使用的
    是arial字体,结果就不正常了,改成宋体就可以了
      

  2.   

    我创建了字体的:
    CFont myfont;
    myfont.CreateFont(-25,
    0,
    0,
    0,
    FW_NORMAL,
    false,
    false,
    false,
    ANSI_CHARSET,
    OUT_DEFAULT_PRECIS,
    CLIP_DEFAULT_PRECIS,
    DEFAULT_QUALITY,
    VARIABLE_PITCH,
    "宋体"); poldfont=m_pDC->SelectObject(&myfont);
    上述字体在Win98下显示很合适,在Win2000下太小。字体在Win98下和Win2000下显示的大小不一样,请问有什么好办法解决这个问题吗?
      

  3.   

    和你的模式设置有很大的关系
    pDC->SetMapMode(MM_LOMETRIC);
    MM_LOMETRIC —— 每个象素单位转换为0.1毫米,X向右,y向上。
    这么小的字体,当然看不清楚了。解决办法,1更改模式
              2设置字体
      

  4.   

    原因不清,可能是Gdi32.lib对98和NT内核的系统不一致