我最近要在一个对话框上显示文字,这个对话框用BMP位图来做背景,那么文字显示时要求是透明北景,也就不能用TextOut了,谁有这方面的经验,能不能给个例子看一看,或是做个解答,万分感谢

解决方案 »

  1.   

    说不清楚,给你做了个例子:http://www.7forever.com/c3d/study/ab.rar
      

  2.   

    agree with swbreath !first you must use pDC->SetBkMode(TRANSPARENT) to set the back mode to transparent state , then you can use TextOut to output your text in dialog !
      

  3.   

    http://www.7forever.com/c3d/study/ab.rar
    这个很清楚了
    :)
      

  4.   

    CreateFont第一个参数表示文字大小
    CFont font;
    VERIFY(font.CreateFont(
       12,                        // nHeight
       0,                         // nWidth
       0,                         // nEscapement
       0,                         // nOrientation
       FW_NORMAL,                 // nWeight
       FALSE,                     // bItalic
       FALSE,                     // bUnderline
       0,                         // cStrikeOut
       ANSI_CHARSET,              // nCharSet
       OUT_DEFAULT_PRECIS,        // nOutPrecision
       CLIP_DEFAULT_PRECIS,       // nClipPrecision
       DEFAULT_QUALITY,           // nQuality
       DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
       "Arial"));                 // lpszFacename
    CFont* pOld=pDC->SelectFont(&font);//这里绘图
    pDC->SelectFont(pOld);
      

  5.   

    补充一下:
    pDC->SelectFont(pOld);改称
    CFont* pold = pDC ->SelectObject(&font);
    使用完之后
    pDC ->SeclectObject(pold);