效果图:

让字体有阴影代码 

代码:

 


  1. LONG OnPaint(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)  
  2. {  
  3.  PAINTSTRUCT ps;  
  4.  HDC hdc;  
  5.  RECT rect;  
  6.  int nSmooth;  
  7.  
  8.  LOGFONT If;  
  9.  HFONT hFontNew,hFontOld;  
  10.     //定义要显示的内容  
  11.  TCHAR str[] = TEXT("show a Shadow Text");  
  12.     //获得系统设备环境  
  13.   hdc = BeginPaint(hWnd,&ps);  
  14.     //获得窗体区域  
  15.  GetClientRect(hWnd,&rect);  
  16.     //初始化自定义字体结构  
  17.  memset(&If,0,sizeof(LOGFONT));  
  18.  //设置字体圆滑显示  
  19.  nSmooth =1000;  
  20.  //设置系统参数信息  
  21.  SystemParametersInfo(SPI_SETFONTSMOOTHINGCONTRAST,0,&nSmooth,TRUE);  
  22.  //设置字体的显示质量  
  23.  If.lfQuality  = CLEARTYPE_QUALITY;  
  24.     //设置字体的倾斜度  
  25.  If.lfEscapement = 450;  
  26.  //创建自定义字体  
  27.  hFontNew = CreateFontIndirect(&If);  
  28.  //选入到设备环境  
  29.  hFontOld = (HFONT) SelectObject(hdc,hFontNew);  
  30.  //设置背景模式  
  31.  SetBkMode(hdc,TRANSPARENT);  
  32.     //设置颜色为红色  
  33.  SetTextColor(hdc,RGB(0xff,0x00,0x00));  
  34.  //绘制文字  
  35.  DrawText(hdc,str,-1,&rect,DT_VCENTER | DT_CENTER | DT_SINGLELINE);  
  36.  //移动矩形区域  
  37.  OffsetRect(&rect,-2,-2);  
  38.  //重新设置字体颜色为黑色  
  39.  SetTextColor(hdc,RGB(0,0,0));  
  40.  DrawText(hdc,str,-1,&rect,DT_VCENTER | DT_CENTER | DT_SINGLELINE);  
  41.  //清楚使用过的资源  
  42.     SelectObject(hdc,hFontOld);  
  43.  DeleteObject(hFontNew);  
  44.  //释放设备环境  
  45.  EndPaint(hWnd,&ps);  
  46.  return 0;  
  47. }  
  48.