...
LOGFONT lf;
pDoc->m_Font.GetLogFont(&lf);
lf.lfEscapement = 300;
lf.lfOrientation =300;
...

解决方案 »

  1.   

    你的LogFont没有充分初始化。另外建议在SelectObject后都要恢复原来的GDIObject.
      

  2.   

    初始化很麻烦的,我试过,下面这些参数好像少一个都不行:
          LOGFONT logfont;
    lstrcpy((LPSTR)logfont.lfFaceName,(LPSTR)"楷体_GB2312");
    logfont.lfWeight=700;
    logfont.lfWidth=20;
    logfont.lfHeight=50;
    logfont.lfEscapement=300;
    logfont.lfUnderline=FALSE;
    logfont.lfItalic=FALSE;
    logfont.lfStrikeOut=FALSE;
    logfont.lfCharSet=GB2312_CHARSET;

    myFont.CreateFontIndirect(&logfont);
    hFont=myFont;        hOldFont=(HFONT__ *)pDC->SelectObject(hFont);
            pDC->TextOut (80,80,"Hello!Windows!!!");
      

  3.   

    To:happylaodu
           请问hOldFont 和hFont是怎么定义的?字体已经设置成了楷体_GB2312,为什么不显示
    中文?
      

  4.   

    HFONT hFont,hOldFont;我是直接用的你的例子,当然也可以显示中文了,你也可以设为其它字体,比如"Arial"之类。
      

  5.   

    解决!但我想问,字体里有个叫MS Outlook的字体,我显示其中的“ABCDEF” 时在写字本里
    出现花字符,但用程序指定lstrcpy((LPSTR)logfont.lfFaceName,(LPSTR)"MS Outlook");
    时怎么不出现花呢?
    百思不得其解????