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);


}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章