SetTimer定时器1

UINT SetTimer(UNIT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND,UINT ,UINT,DWORD));

 

第一个参数是标识定时器本身的ID

第二个参数是设定的时间

第三个参数是回调函数,

 

如果第三个参数设置为NULL 则定时器会放入消息队列中会被CWnd 对象调用。(同过WM TIME 消息映射处理)

 

 

 

//模拟卡拉OK 文字变色的系统,设置字体变色

 

void CTextView::OnTime(UNIT nIDEvent)

{

m_nWidth += 5;

 

CClientDC dc(this); //定义好dc,获取文字高度

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.LoadString(IDS_STRING);

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.TextOut(0,200,str);
}

 

CView::OnTimer(nIDEvent);


}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值