全部評(píng)論(2條)
-
- 富江視頻 2013-05-27 00:00:00
- 下載個(gè)計(jì)時(shí)器的軟件!
-
贊(18)
回復(fù)(0)
-
- QL貓猴子 2018-03-20 20:35:40
- 用SetTimer函數(shù)。什么時(shí)候我們需要用到SetTimer函數(shù)呢?當(dāng)你需要每個(gè)一段時(shí)間執(zhí)行一件事的的時(shí)候就需要使用SetTimer函數(shù)了。 使用定時(shí)器的方法比較簡(jiǎn)單,通常告訴WINDOWS一個(gè)時(shí)間間隔,然后WINDOWS以此時(shí)間間隔周期性觸發(fā)程序。通常有兩種方法來實(shí)現(xiàn):發(fā)送WM_TIMER消息和調(diào)用應(yīng)用程序定義的回調(diào)函數(shù)。 1.1 用WM_TIMER來設(shè)置定時(shí)器 先請(qǐng)看SetTimer這個(gè)API函數(shù)的原型 UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定時(shí)器ID,多個(gè)定時(shí)器時(shí),可以通過該ID判斷是哪個(gè)定時(shí)器 UINT uElapse, // 時(shí)間間隔,單位為毫秒 TIMERPROC lpTimerFunc // 回調(diào)函數(shù) ); 例如 SetTimer(m_hWnd,1,1000,NULL); //一個(gè)1秒觸發(fā)一次的定時(shí)器 在MFC程序中SetTimer被封裝在CWnd類中,調(diào)用就不用指定窗口句柄了 于是SetTimer函數(shù)的原型變?yōu)椋? UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD)) 當(dāng)使用SetTimer函數(shù)的時(shí)候,就會(huì)生成一個(gè)計(jì)時(shí)器。函數(shù)中nIDEvent指的是計(jì)時(shí)器的標(biāo)識(shí),也就是名字。nElapse指的是時(shí)間間隔,也就是每隔多長(zhǎng)時(shí)間觸發(fā)一次事件。第三個(gè)參數(shù)是一個(gè)回調(diào)函數(shù),在這個(gè)函數(shù)里,放入你想要做的事情的代碼,你可以將它設(shè)定為NULL,也就是使用系統(tǒng)默認(rèn)的回調(diào)函數(shù),系統(tǒng)默認(rèn)認(rèn)的是onTime函數(shù)。這個(gè)函數(shù)怎么生成的呢?你需要在需要計(jì)時(shí)器的類的生成onTime函數(shù):在ClassWizard里,選擇需要計(jì)時(shí)器的類,添加WM_TIME消息映射,就自動(dòng)生成onTime函數(shù)了。然后在函數(shù)里添加代碼,讓代碼實(shí)現(xiàn)功能。每隔一段時(shí)間就會(huì)自動(dòng)執(zhí)行一次。 例: SetTimer(1,1000,NULL); 1:計(jì)時(shí)器的名稱; 1000:時(shí)間間隔,單位是毫秒; NULL:使用onTime函數(shù)。 當(dāng)不需要計(jì)時(shí)器的時(shí)候調(diào)用KillTimer(nIDEvent); 例如:KillTimer(1); 1.2 調(diào)用回調(diào)函數(shù) 此方法首先寫一個(gè)如下格式的回調(diào)函數(shù) void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime); 然后再用SetTimer(1,100,TimerProc)函數(shù)來建一個(gè)定時(shí)器,第三個(gè)參數(shù)就是回調(diào)函數(shù)地址。 二. 或許你會(huì)問,如果我要加入兩個(gè)或者兩個(gè)以上的 timer怎么辦? 繼續(xù)用SetTimer函數(shù)吧,上次的timer的ID是1,這次可以是2,3,4。。。。 SetTimer(2,1000,NULL); SetTimer(3,500,NULL); 嗯,WINDOWS會(huì)協(xié)調(diào)他們的。當(dāng)然onTimer函數(shù)體也要發(fā)生變化,要在函數(shù)體內(nèi)添加每一個(gè)timer的處理代碼: onTimer(nIDEvent) { switch(nIDEvent) { case 1:........; break; case 2:.......; break; case 3:......; break; } }
-
贊(7)
回復(fù)(0)
登錄或新用戶注冊(cè)
- 微信登錄
- 密碼登錄
- 短信登錄
請(qǐng)用手機(jī)微信掃描下方二維碼
快速登錄或注冊(cè)新賬號(hào)
微信掃碼,手機(jī)電腦聯(lián)動(dòng)
注冊(cè)登錄即表示同意《儀器網(wǎng)服務(wù)條款》和《隱私協(xié)議》
熱門問答
- 如何在win32里面設(shè)置一個(gè)計(jì)時(shí)器?
2013-05-26 05:00:18
389
2
- 如何在win32上彈出窗口加載網(wǎng)頁(yè)
2017-10-30 03:26:36
490
1
- 如何在EXCEL表格中設(shè)置一個(gè)計(jì)時(shí)器,知道累計(jì)所用時(shí)間
- 用EXCEL表格做了一個(gè)試題卷,想制作一個(gè)計(jì)時(shí)器,方便知道完成答題試卷所用的時(shí)間
2012-05-29 20:00:21
515
2
- 電腦關(guān)機(jī)后如何在BOSS里面設(shè)置關(guān)閉電源系統(tǒng)
- 主板型號(hào)GA-M52L-S3請(qǐng)求如何在BOSS里設(shè)置關(guān)閉模式。讓鍵盤鼠標(biāo)斷電。(沒斷電前鼠標(biāo)和鍵盤可是帶電狀態(tài)。)
2013-07-05 19:03:36
558
4
- 如何在ppt 2010中加入計(jì)時(shí)器
2017-06-14 12:59:32
329
1
- 如何在PowerPoint中插入計(jì)時(shí)器
2016-04-08 04:58:15
344
3
- .net 如何在服務(wù)器端做一個(gè)計(jì)時(shí)器
- 我要在服務(wù)器算寫一個(gè)計(jì)時(shí)器、每隔12小時(shí)去檢索一下 數(shù)據(jù)庫(kù)的內(nèi)容 access 數(shù)據(jù)庫(kù) 呵呵、有沒有高手幫忙呀、 Z好把代碼貼出來!
2010-09-05 02:41:22
476
3
- C#設(shè)置一個(gè)計(jì)時(shí)器
2018-12-05 00:42:41
380
0
- 如何在PPT(powerpoint)中增加計(jì)時(shí)器效果?
- 如題。 因?yàn)镻PT需要。希望在PPT播放時(shí)能有一個(gè)顯示的效果。 因?yàn)楸仨氃?0分鐘內(nèi)結(jié)束PPT播放,所以要讓觀眾看到時(shí)間流逝的效果。 每一頁(yè)都需要這么個(gè)顯示功能。 我用的是PPT 2003的簡(jiǎn)化版本。
2008-05-27 18:24:57
361
3
- 如何在VisualStudio10.0中設(shè)置Halcon機(jī)器視覺
2016-04-13 02:13:53
352
1
- 怎么在ppt里面加入一個(gè)計(jì)時(shí)器
2016-11-24 11:10:05
410
1
- 如何在MyEclipse中寫一個(gè)過濾器
2016-06-07 18:45:37
379
2
- 如何在Ubuntu 16.04上設(shè)置時(shí)間同步
2018-11-13 19:04:08
344
0
- 如何在VB程序中設(shè)計(jì)一個(gè)器
2018-12-06 17:40:52
276
0
- 如何在idea中創(chuàng)建一個(gè)測(cè)試類
2017-06-05 04:43:06
443
1
- 如何在示波器上得到一個(gè)光點(diǎn)
2018-11-30 18:42:37
285
0
- 如何在comsol中設(shè)置不同溫度的導(dǎo)熱系數(shù)
2016-07-28 22:08:13
907
1
- 如何用QT實(shí)現(xiàn)一個(gè)計(jì)時(shí)器的程序
- 秒表,用戶點(diǎn)“開始計(jì)時(shí)”后,秒表開始計(jì)時(shí),并實(shí)時(shí)顯示計(jì)時(shí)數(shù)據(jù);用戶點(diǎn)“停止計(jì)時(shí)”后,秒表停止計(jì)時(shí);用戶點(diǎn)“重置”后,秒表歸零 要求:秒表計(jì)時(shí)精度達(dá)到毫秒級(jí) 說明:不要求存儲(chǔ)歷史計(jì)時(shí)數(shù)據(jù) 需要詳細(xì)點(diǎn)
2015-07-22 03:12:45
443
1
- 高光譜曲線如何在envi里面進(jìn)行包絡(luò)線去除操作?
2011-12-01 09:02:28
620
3
- win8的系統(tǒng),如何在電源選項(xiàng)里面設(shè)置,待機(jī)到了一定時(shí)間后自動(dòng)鎖屏。
2014-02-19 03:14:49
426
4
4月突出貢獻(xiàn)榜
推薦主頁(yè)
最新話題





參與評(píng)論
登錄后參與評(píng)論