新建单文档工程,命名为SetFont,添加俩个消息处理分别是WM_CREATE,WM_TIMER:在WM_CREATE的消息处理函数中,设置定时器:
SetTimer(1, 100, NULL);
在WM_TIMER函数中,添加代码:
void CSetFontView::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_nWidth += 5;
CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);
CRect rect;
rect.left = 0;
rect.top = 200;
rect.right = m_nWidth;
rect.bottom = rect.top + tm.tmHeight;
dc.SetTextColor(RGB(255, 0, 0));
CString str;
str = "C++技术网";
dc.DrawText(str, rect, DT_LEFT);
CSize sz = dc.GetTextExtent(str);
if (m_nWidth > sz.cx)
{
m_nWidth = 0;
dc.SetTextColor(RGB(0,255,0));
dc.TextOutW(0, 200, str);
}
CView::OnTimer(nIDEvent);
}
代码实现:
此文章系笔者原创