//绘制空心字 void DrawHollowChar(CDC *pDC, LPCTSTR szText) { int nSaveDC = pDC->SaveDC(); // 更改当前字体 LOGFONT lf; pDC->GetCurrentFont()->GetLogFont(&lf); lf.lfCharSet=134; lf.lfHeight= -MulDiv(200, pDC->GetDeviceCaps(LOGPIXELSY), 72); lf.lfWidth=0; strcpy(lf.lfFaceName, _T("隶书")); CFont font; font.CreateFontIndirect(&lf); CFont *pOldFont=pDC->SelectObject(&font); pDC->SetBkMode(TRANSPARENT); // 更改当前画笔 CPen pen(PS_SOLID, 10, RGB(255, 162, 120)); CPen *pOldPen=pDC->SelectObject(&pen); //更改填充画刷 CBrush brush(RGB(255, 255,0)); CBrush *pOldBrush = pDC->SelectObject( &brush ); // 开始一个路径 pDC->BeginPath(); pDC->TextOut(0, 0, szText); pDC->EndPath(); // 绘制路径 //pDC->StrokePath(); //仅用画笔绘制字体边沿 pDC->StrokeAndFillPath(); //绘制边沿和填充背景 // 恢复设备上下文的原有设置 pDC->SelectObject(pOldBrush); pDC->SelectObject(pOldPen); pDC->SelectObject(pOldFont); pDC->RestoreDC(nSaveDC); }