À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÀÚ·á |
---|
Á¦¸ñ | [API] Timer 1998/07/14 (08:58) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 26 |
Á¶È¸ | 424 |
º»¹® |
<< Timer >> SetTimer()ÇÔ¼ö¸¦ È£ÃâÇϸé ÇÁ·Î±×·¥¿¡ ŸÀ̸Ӹ¦ ÇÒ´çÇÒ ¼ö ÀÖ´Ù. À̷лó 1millisecond - 4294967295 msec¹üÀ§ÀÇ °£°ÝÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î 1000 msecÀÇ °£°ÝÀ» ÇÁ·Î±×·¥¿¡ ¸ÅÃʸ¶´Ù WM_TIMER¸Þ½ÃÁö¸¦ º¸³»µµ·Ï ÇÑ´Ù. KillTimer()¸¦ È£ÃâÇÏ¿© ŸÀÌ¸Ó ¸Þ½ÃÁö¸¦ ¸ØÃß°Ô ÇÒ ¼ö ÀÖ´Ù. WM_TIMER ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â µ¿¾È KillTimer()¸¦ È£ÃâÇϸé ÀÏȸ¼º ŸÀ̸Ӹ¦ ¸¸µé ¼ö ÀÖ´Ù. KillTimer()ÇÔ¼ö´Â ¸Þ½ÃÁö Å¥¿¡ ³²¾Æ ÀÖ´Â WM_TIMER¸Þ½ÃÁö¸¦ ¾ø¾Ø´Ù. ŸÀ̸Ӵ 1ÃÊ¿¡ 18.2 Ŭ·Ï ÆÞ½º(54.925msec) ¼¼¹Ðµµ¸¦ °¡Áø´Ù. ŸÀ̸Ӹ¦ »ç¿ëÇÏ´Â ¼¼ °¡Áö ¹æ¹ý. <¹æ¹ý 1> À©µµ¿ì ÇÁ·Î½ÃÀú¿¡ WM_TIMER ¸Þ½ÃÁö¸¦ º¸³»µµ·Ï ÇÏ´Â °Í. SetTimer(hwnd,1,wMsecInterval,NULL); 2¹ø°´Â Timer ID (non-zero) KillTimer(hwnd,1); WM_TIMER¸Þ½ÃÁö¸¦ ¹ÞÀ» ¶§, wParamÀº Timer IDÀÌ°í, lParamÀº 0ÀÌ´Ù. <¹æ¹ý 2> À©µµ¿ìÁî°¡ ŸÀÌ¸Ó ¸Þ½ÃÁö¸¦ ÇÁ·Î±×·¥ÀÇ ¶Ç´Ù¸¥ ÇÔ¼ö¿¡°Ô º¸³¿. ŸÀÌ¸Ó ¸Þ½ÃÁö¸¦ ¹ÞÀ» ÇÔ¼ö´Â call-backÇÔ¼ö¶ó°í ¸í¸íµÈ´Ù. »ç¿ëÀÚ´Â ÇÔ¼öÀÇ ÁÖ¼Ò¸¦ À©µµ¿ìÁî¿¡ ¾Ë¸®¸ç, À©µµ¿ì°¡ ³ªÁß¿¡ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. À©µµ¿ì ÇÁ·Î½ÃÀúó·³ CALLBACK À¸·Î Á¤ÀǵǾî¾ß ÇÑ´Ù. VOID VALLBACK TimerProc(HWND, UINT, UINT iTimerID, DWORD dwTime) { // WM_TIMER ó¸® } HWND´Â SetTimer¸¦ È£ÃâÇÒ¶§ ÁöÁ¤µÇ´Â À©µµ¿ìÀÇ ÇÚµé UINT iMsg´Â Ç×»ó WM_TIMER iTimerID´Â Timer ID dwTimeÀº ½Ã½ºÅÛ ½Ã°£ÀÌ´Ù. SetTimer(hwnd,iTimerID,iMsecInterval,(TIMERPROC)TimerProc); ³×¹ø° Àλ簡 call-back ÇÔ¼öÀÇ ÁÖ¼ÒÀÌ´Ù. <¹æ¹ý 3> SetTimerÀÇ hwnd°¡ NULL·Î ¼³Á¤µÇ°í, µÎ¹ø° ÀÎÀÚ°¡ ¹«½ÃµÇ´Â °ÍÀ» Á¦¿ÜÇÏ¸é µÎ¹ø° ¹æ¹ý°ú À¯»çÇÏ´Ù. ´ë½Å¿¡ ÀÌ ÇÔ¼ö´Â ŸÀÌ¸Ó ID¸¦ µÇµ¹¸°´Ù. iTimerID=SetTImer(NULL,0,wMsecInterval,(TIMERPROC)TimerProc); »ç¿ë °¡´ÉÇÑ Å¸À̸Ӱ¡ ¾øÀ» °æ¿ì NULLÀ» ¹ÝȯÇÑ´Ù. KillTimerÀÇ Ã¹¹ø° ÀÎÀÚµµ NULLÀ̾î¾ß Çϸç, TimerID¸¦ SetTimer ¿¡¼ ¹ÝȯµÈ °ªÀ̾î¾ß ÇÑ´Ù. TimerProcÇÔ¼ö¿¡ Àü´ÞµÈ hwndÀÎÀÚ ¿ª½Ã NULLÀÌ µÈ´Ù. |