当前位置:C++技术网 > 资讯 > MFC实现使用剪切区域实现酷狗动态歌词特效:动态歌词颜色滚动覆盖效果

MFC实现使用剪切区域实现酷狗动态歌词特效:动态歌词颜色滚动覆盖效果

更新时间:2016-02-01 22:44:25浏览次数:1+次

原文请看《Win32使用剪切区域实现酷狗动态歌词特效:动态歌词颜色滚动覆盖效果》直接看代码:

OnPaint函数:

PAINTSTRUCT ps;
		TEXTMETRIC tm;
		CDC *pDC=BeginPaint(&ps);
		HRGN hrgn=CreateRectRgn(200+i,50,200+i+20,100);
		CombineRgn(hRgn,hRgn,hrgn,RGN_OR);
		i+=10;
		DeleteObject(hrgn);

		pDC->SelectObject(hFont);
		pDC->SetTextColor(RGB(0,0,255));
		pDC->TextOutW(50,50,txt);
		pDC->GetTextMetrics(&tm);
		pDC->SelectObject(hRgn);
		pDC->SetTextColor(RGB(255,0,0));
		pDC->TextOutW(50,50,txt);
		EndPaint(&ps);
void C歌词滚动Dlg::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	Invalidate();
	CDialogEx::OnTimer(nIDEvent);
}


int C歌词滚动Dlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CDialogEx::OnCreate(lpCreateStruct) == -1)
		return -1;

	// TODO:  在此添加您专用的创建代码
	SetTimer(1,1000,NULL);
	hRgn=CreateRectRgn(50,50,200,100);
	memset(&logfont,0,sizeof(logfont));
	logfont.lfHeight=50;
	logfont.lfWeight=200;
	hFont=CreateFontIndirect(&logfont);
	GetClientRect(&rect);
	return 0;
}
头文件中:
HRGN hRgn;
	INT i;
	LOGFONT logfont;
	CRect rect;
	HFONT hFont;
	CString txt;