怎么样在CDC输出一串字符,要求可以设定字的字体,字的宽高是多少点,还要可以设定字符间距。
字符中有汉字与ASCII码。

解决方案 »

  1.   

    CFont font;
    font.CreateFont(...);
    pDC->SelectObject(&font);
      

  2.   

    CFont font;
    font.CreateFont(-14,0,0,0,400,FALSE,FALSE,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH&FF_SWISS,"宋体");
    CFont *pFont=pDC->SelectObject(&font);pDC->TextOut(0,0,"asdfa");pDC->SelectObject(pFont);
    font.DeleteObject();//这两句必须
      

  3.   

    CFont m_Font;
    m_Font.CreateFont(16,0,0,0,100,FALSE,FALSE,0,
    ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
    DEFAULT_QUALITY,FF_SWISS,"Arial");CFont *pOldFont = (CFont*)dc.SelectObject(&m_Font);
    ...
      

  4.   

    CreateFont里面的参数有设置字体高度宽度的,仔细看看
      

  5.   

    CreateFont(-14,0,0,0,400,FALSE,FALSE,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS)
    第二个参数0改为其它值10,
    第一个改为-100你试一下
    0时是默认值
      

  6.   

    LOGFONT lf;//LOGFONT 这个结构里包含了对字体大小,高度,字体集,下划线等参数,具体的内容看MSDN
    lf.lfHeight=12;
    .
    .
    .CDC *pDC = GetDC();//得到显示DC
    int nMode = pDC->SetBkMode(TRANSPARENT);//设置背景为透明CFont font;
    font.CreateFontIndirect(&lf);
    CFont *pOldFont = pDC->SelectObject(&font);***//在这里画东西,例如: pDC->TextOut(0,0,"hao");//输出的字体就有你设置的效果了
    pDC->SelectObject(pOldFont);
    pDC->SetBkMode(nMode);
    ReleaseDC(pDC);
      

  7.   

    LOGFONT中的lfwidth可以调整字体间的宽度
      

  8.   

    pDC->SetTextCharacterExtra(100);
    pDC->TextOut(0,0,"aaaaa");
      

  9.   

    不行的,我试了,这样怎么写都是方字,我要长方形字,我高设成lf.lfHeight=36;
    lf.lfwidth = 18,结果还是36的字,不能成长方形字。
    字与字之间的间隙也设不了。
    那位有这样的源代码呀