显示带阴影文字的简单办法

在UI开发中,文字如果加上一点阴影特效会要比单纯显示文字要效果好很多,有一个办法就是用GDI+对于文字渲染相应的功能,但是在WINCE中是没有GDI+的;另外一种办法就是制做图片文字,但是这样不便于实现语言的动态切换。因此可以变通一下用一个简单的办法来实现简单的阴影效果。以下是代码片断,绘图工作是放在OnPaint中进行的
CFont* f = dc.GetCurrentFont(); LOGFONT lf; f->GetLogFont(&lf); lf.lfHeight = -24; lf.lfWeight = FW_BOLD; lf.lfQuality = CLEARTYPE_QUALITY; lf.lfCharSet = DEFAULT_CHARSET; CFont nf; nf.CreateFontIndirectW(&lf); dc.SelectObject(&nf); CRect rcClient; GetClientRect(&rcClient); dc.SetBkMode(TRANSPARENT); dc.SetTextColor(RGB(125, 125, 125)); dc.DrawText(TEXT("文字阴影效果测试"), _tcslen(TEXT("文字阴影效果测试")), &rcClient, DT_CENTER | DT_SINGLELINE | DT_VCENTER); rcClient.OffsetRect(-2, -2); dc.SetTextColor(RGB(0, 0, 0)); dc.DrawText(TEXT("文字阴影效果测试"), _tcslen(TEXT("文字阴影效果测试")), &rcClient, DT_CENTER | DT_SINGLELINE | DT_VCENTER); }

你可能感兴趣的:(wince,gdi+,测试,wince,语言,工作,ui)