# MFC字幕颜色变化的实现
大家好,这是我第一次写博客hhhh。我写博客的目的呢,主要是督促自己进行编程方面的学习,还有记录并总结学习过程中一些技术与感悟。我的文章里肯定有很多不足之处,还希望大家能给我指出来!
今天给大家分享的是利用mfc实现字幕的变色,做出类似于卡拉ok字幕的效果,达到平滑变色的目的。首先,介绍下步骤:
- 做一个定时器按时发送消息
- 利用DrawText函数输出文字
主要的步骤就是这两个,原理呢,DrawText函数可以把文字的输出局限在一个矩形的范围内,如果输出的文字太多,超过所设定的矩形范围,就截断输出的文字,只显示在设定的矩形内的那部分文字。
1)做定时器:
可以使用SetTimer函数。首先来看一下SetTimer函数在msdn上的定义UINT SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD) );
第一个参数是一个标识,即函数调用成功,这个标识将作为返回值返回;
第二个参数是定时器的时间间隔,即隔多久发送一次定时器消息WM_TIMER,注意:它以毫秒为单位;
第三个参数是一个指向回调函数的的指针,设置回调函数后,当定时器发送消息后,回调函数就会执行去处理这个消息。在这里,我们将此参数设为NULL,即当定时器发送消息后直接将此消息发送给应用程序的消息队列,然后由程序中响应此消息的窗口对象来处理。
贴一下代码1-1: