当前位置:C++技术网 > 资讯 > 滚动颜色字幕实现

滚动颜色字幕实现

更新时间:2015-12-10 12:41:32浏览次数:1+次

新建单文档工程,命名为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);
}
代码实现:

此文章系笔者原创