CClientDC dc(pWin);
dc.TextOut(X,Y,"你是好人");我写得字总比菜单显示得字看上去大,而且笔画也粗.
用 CDC::GetTextMetrics 发现tmHeight=16;
如何能显示象屏幕菜单上的字体一样的字

解决方案 »

  1.   

    试试设置字体大小:
    CClientDC dc(this);
    CFont font;
    font.CreateFont(
    MulDiv(10,-dc.GetDeviceCaps(LOGPIXELSY),72),//10:高度
    0,//0:宽度
    0,0,FW_NORMAL,0,0,0,
    ANSI_CHARSET,OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,
    VARIABLE_PITCH|FF_SWISS,
    _T("System"));//字体
    CFont * pOldFont = dc.SelectObject(&font);
    dc.TextOut(100,100,"File");
    dc.SelectObject(pOldFont);
    font.DeleteObject();
      

  2.   

    更改字体,
    构造个CFont
    然后选入DC
    再TextOut
    再还DC
      

  3.   

    楼上两位的方法解决了我的问题,谢谢我后来还发现了一个方法
    CFont font;
    font.CreatePointFont(90, "Arial", &dc);
    CFont* def_font = dc.SelectObject(&font);