MFC 定時器的使用

2021-10-23 05:18:37 字數 737 閱讀 7785

一、簡單定時器的使用

//函式原型

// timer functions

uint_ptr settimer(uint_ptr nidevent, uint nelapse,

void (callback* lpfntimer)(hwnd, uint, uint_ptr, dword));

/*nidevent可以用來區分不同的定時器,

nelapse的單位是毫秒,預設的定時訊息響應函式是wm_timer*/

bool killtimer(uint_ptr nidevent);

使用settimer可以開啟定時器,killtimer可以關閉定時器。

雖然timer的nelapse單位是毫秒,但其使用的是時間中斷響應計時,windows的時間中斷每1/18秒觸發一次,所以timer最低精度約在55ms(也就是說不管你設定的nelapse是多少,windows總以和這個間隔最接近的55ms的整數倍來觸發定時器),低於這個時間則精度不夠。

此外,wm_timer訊息的優先級別比較低,也降低了timer的精度。總的來說,timer只適用於時間精度要求不是很高的場合。

二、多**定時器

參考:使用多**定時器可以達到更高的精度。

需要包含標頭檔案:

#include //包含windows中與多**有關的大多數介面

主要是要掌握timesetevent函式的使用。

MFC中的定時器

mfc中提供了定時器,可以實現每隔一段時間產生乙個定義器訊息的功能。這樣我們就可以在響應定時器訊息的函式中編寫 實現一定的功能。定時器的使用分三步 第一步,建立定時器,使用settimer函式。在這個函式中設定1 定時器的標號 這個標號唯一的標定了這個定時器,在多個定時器的時候有用 2 訊息時間間隔...

MFC定時器的用法

settimer是設定乙個計時器並開始執行計時器ontimer中的 ontimer是計時器所執行的 killtimer用於停止計時器。settimer是設定,ontimer是響應settimer訊息的。settimer函式的用法 1 用wm timer來設定定時器 先請看settimer這個api函...

MFC定時器使用

方法一 cwnd類提供的成員函式settimer實現定時器功能,只能在cwnd類或其派生類中呼叫。方法二 windows api函式settimer來實現。啟動定時器就需要使用cwnd類的成員函式settimer。cwnd settimer的原型如下 uint ptr settimer uint p...