定時器的封裝

2021-08-28 03:33:03 字數 1380 閱讀 7200

定時器的封裝可以通知窗體,可以不通知窗體。

1 定義

typedef void (callback *timerproc)(hwnd hwnd,uint umsg,    uint_ptr idevent,dword dwtime);

class cmytimer

;2 實現

cmytimer::cmytimer()

bool cmytimer::start(unsigned int idevent, dword dwtime, timerproc ptimerproc)

;sprintf_s(msg, 100, "建立定時器出錯,出錯碼為:%d\n", drcode);

outputdebugstringa(msg);

m_running = false;

}if (m_running)

return m_ntimer;

}void cmytimer::stop()

}cmytimer::~cmytimer()

}3 運用

a cmytimer m_mytimer;

b 時間通知函式的實現,如下:

定時器函式定義與實現:

static void callback timerproc(

hwnd hwnd,

uint umsg,

uint_ptr idevent,

dword dwtime

);void callback cchclientsocket::timerproc(hwnd hwnd, uint umsg, uint_ptr idevent, dword dwtime)

sttimerevent timerevent = getinstance().m_opreate.popdata();

switch (timerevent.curevent)

;sprintf_s(msg, 100, "\n--timerproc emconnect errorcode:%d \n", timerevent.nerror);

getinstance().m_connectcallback(timerevent.nerror);

outputdebugstringa(msg);}}

break;

case emclose:

}break;

case emsenddata:

}break;

default:

break;

}c 開啟時鐘,將上面定義的函式指標傳遞進去

#define timereventid 100

m_mytimer.start(timereventid, 100, timerproc);

d 關閉時鐘

m_mytimer.stop();

定時器 函式封裝

一 return返回值 1 函式 括號 2 所有函式預設返回值 未定義 3 return後任何 都不執行 二 定時器 1.setinterval 1 是乙個實現定時呼叫的函式 2 setinterval 函式,毫秒 重複執行 3 clearinerval 清除 2.settimeout 1 只執行一...

定時器類的封裝

在scene裡新增 this.addchild new timecount 使用美術字的倒計時 需要 fnt檔案預載入 美術字的名字注意修改 使用的時候通過 cc.eventmanager.dispatchcustomevent user time count set time,5 設定倒計時時間 ...

事件委託 定時器 清除定時器 封裝動畫函式

1 什麼是事件委託,原理是什麼?定義 利用事件冒泡,只指定乙個事件處理程式,就可以管理某一型別的所有事件 原理 事件委託利用事件冒泡 從最深的節點開始,然後逐步向上傳播事件 只在他們的父元素上指定乙個事件處理程式,就可以管理某一型別的的所有事件。2 js 中有幾種定時器,有什麼區別?兩種setint...