讓字體有陰影代碼
效果圖:
本文引用地址:http://www.104case.com/article/201609/303401.htm代碼:
LONG OnPaint(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
RECT rect;
int nSmooth;
LOGFONT If;
HFONT hFontNew,hFontOld;
//定義要顯示的內容
TCHAR str[] = TEXT(show a Shadow Text);
//獲得系統設備環境
hdc = BeginPaint(hWnd,ps);
//獲得窗體區域
GetClientRect(hWnd,rect);
//初始化自定義字體結構
memset(If,0,sizeof(LOGFONT));
//設置字體圓滑顯示
nSmooth =1000;
//設置系統參數信息
SystemParametersInfo(SPI_SETFONTSMOOTHINGCONTRAST,0,nSmooth,TRUE);
//設置字體的顯示質量
If.lfQuality = CLEARTYPE_QUALITY;
//設置字體的傾斜度
If.lfEscapement = 450;
//創建自定義字體
hFontNew = CreateFontIndirect(If);
//選入到設備環境
hFontOld = (HFONT) SelectObject(hdc,hFontNew);
//設置背景模式
SetBkMode(hdc,TRANSPARENT);
//設置顏色為紅色
SetTextColor(hdc,RGB(0xff,0x00,0x00));
//繪制文字
DrawText(hdc,str,-1,rect,DT_VCENTER | DT_CENTER | DT_SINGLELINE);
//移動矩形區域
OffsetRect(rect,-2,-2);
//重新設置字體顏色為黑色
SetTextColor(hdc,RGB(0,0,0));
DrawText(hdc,str,-1,rect,DT_VCENTER | DT_CENTER | DT_SINGLELINE);
//清楚使用過的資源
SelectObject(hdc,hFontOld);
DeleteObject(hFontNew);
//釋放設備環境
EndPaint(hWnd,ps);
return 0;
}
評論