Crazy_Challenger

导航

 

void CGradientTxtView::OnDraw(CDC* pDC)
{
CGradientTxtDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

//得到客户区的大小
CRect rcClient;
GetClientRect (rcClient);

//创建输出字符串.
CString str (_T ("oooo...I am rotating!"));

//输出透明红色字体
pDC->SetBkMode (TRANSPARENT);
pDC->SetTextColor (RGB (255,0,0));
CFont font;
LOGFONT stFont; //字体定义结构

//设置字体格式
memset(&stFont, 0, sizeof(LOGFONT));
stFont.lfHeight=MulDiv(14, -pDC->GetDeviceCaps(LOGPIXELSY), 72);
stFont.lfWeight=FW_NORMAL;
stFont.lfClipPrecision=CLIP_LH_ANGLES;
strcpy (stFont.lfFaceName, "Arial");

//每隔15度输出字符串
for (int nAngle=0; nAngle<3600; nAngle+=150)
{
//设定新的旋转角度
stFont.lfEscapement=nAngle;

//创建字体并选进设备场景
font.CreateFontIndirect(&stFont);
CFont* pOldFont=pDC ->SelectObject(&font);

//输出字体
pDC->TextOut(rcClient.left + rcClient.Width()/2,rcClient.top + rcClient.Height()/2,str);

//原来字体
pDC->SelectObject(pOldFont);
font.DeleteObject();
}
// TODO: add draw code for native data here
}

posted on 2019-07-09 12:01  Crazy_Challenger  阅读(346)  评论(0)    收藏  举报