WM_TIMER

Àμö

wParam : ŸÀ̸ÓÀÇ ID°¡ Àü´ÞµÈ´Ù. ÀÌ ID´Â SetTimerÀÇ µÎ¹ø° Àμö·Î ÁöÁ¤ÇÑ °ªÀÌ´Ù.

lParam : Äݹé ÇÔ¼ö°¡ ÀÖÀ» °æ¿ì Äݹé ÇÔ¼öÀÇ ¹øÁö°¡ Àü´ÞµÈ´Ù.

¼³¸í

SetTimer ÇÔ¼ö·Î ŸÀ̸Ӹ¦ ¼³Ä¡ÇßÀ» °æ¿ì ÁöÁ¤ÇÑ ½Ã°£ °£°ÝÀ¸·Î ÀÌ ¸Þ½ÃÁö°¡ ¹Ýº¹ÀûÀ¸·Î Å¥¿¡ ºÙ¿©Áø´Ù. ÁÖ±âÀûÀ¸·Î ¾î¶² ÀÛ¾÷À» ¹Ýº¹ÇØ¾ß ÇÑ´Ù¸é ŸÀ̸Ӹ¦ ¼³Ä¡ÇÏ°í ÀÌ ¸Þ½ÃÁö¿¡¼­ ÀÛ¾÷À» ó¸®Çϵµ·Ï ÇÑ´Ù. µÎ °³ ÀÌ»óÀÇ Å¸À̸Ӱ¡ ¼³Ä¡µÇ¾î ÀÖÀ» °æ¿ì °¢°¢ÀÇ Å¸À̸Ӵ Á¤ÇØÁø ½Ã°£ °£°ÝÀ¸·Î ÀÌ ¸Þ½ÃÁö¸¦ Å¥¿¡ ºÙÀ̸ç WM_TIMER¿¡¼­´Â wParamÀ¸·Î ¾î¶² ŸÀ̸ӿ¡ ÀÇÇØ ÀÌ ¸Þ½ÃÁö°¡ ¹ß»ýÇß´ÂÁö Á¶»çÇÑ´Ù.

ŸÀÌ¸Ó Äݹé ÇÔ¼ö¸¦ ÁöÁ¤ÇßÀ» °æ¿ì´Â ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇÒ ÇÊ¿ä°¡ ¾øÀ¸¸ç ½Ã½ºÅÛÀÌ Äݹé ÇÔ¼ö¸¦ ÁÖ±âÀûÀ¸·Î È£ÃâÇØ ÁØ´Ù.

ÀÌ ¸Þ½ÃÁö´Â ´Ù¸¥ ¸Þ½ÃÁöµé¿¡ ºñÇØ ¿ì¼±¼øÀ§°¡ ³·°Ô ¼³Á¤µÇ¾î Àֱ⠶§¹®¿¡ ¸ÕÀú ó¸®ÇØ¾ß ÇÒ ¸Þ½ÃÁö°¡ ÀÖÀ» °æ¿ì °ð¹Ù·Î À©µµ¿ì ÇÁ·Î½ÃÀú·Î º¸³»ÁöÁö ¾ÊÀ» ¼ö ÀÖ´Ù. µû¶ó¼­ Á¤È®ÇÑ ½Ã°£¿¡ ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÇÁö ¾Ê´Â °æ¿ìµµ ÀÖÀ¸¹Ç·Î Á¤È®µµ¸¦ ¿äÇÏ´Â ÀÛ¾÷¿¡´Â ÀÌ ¸Þ½ÃÁö¸¦ »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù.

¸®ÅÏ

ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇßÀ¸¸é 0À» ¸®ÅÏÇØ¾ß ÇÑ´Ù.

¿¹Á¦

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â WM_TIMER¸¦ ÀÌ¿ëÇؼ­ °£´ÜÇÑ ½Ã°è¸¦ ¸¸µé¾î º» °ÍÀÌ´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	static HANDLE hTimer;
	SYSTEMTIME st;
	static char sTime[128];

	switch(iMessage) {
	case WM_CREATE:
		hTimer=(HANDLE)SetTimer(hWnd,1,1000,NULL);
		SendMessage(hWnd, WM_TIMER, 1, 0);
		return 0;
	case WM_TIMER:
		GetLocalTime(&st);
		wsprintf(sTime,"Áö±Ý ½Ã°£Àº %d½Ã %dºÐ %dÃÊÀÔ´Ï´Ù",
			st.wHour,st.wMinute,st.wSecond);
		InvalidateRect(hWnd,NULL,TRUE);
		return 0;
	case WM_PAINT:
		hdc=BeginPaint(hWnd,&ps);
		TextOut(hdc,10,10,sTime,strlen(sTime));
		EndPaint(hWnd,&ps);
		return 0;
	case WM_DESTROY:
		KillTimer(hWnd,1);
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

¸ÞÀÎ À©µµ¿ì°¡ »ý¼ºµÉ ¶§ 1ÃÊ °£°ÝÀ¸·Î ŸÀ̸Ӹ¦ ¼³Ä¡ÇßÀ¸¸ç WM_TIMER¿¡¼­´Â 1ÃÊ °£°ÝÀ¸·Î ½Ã°£À» °»½ÅÇÑ´Ù.

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


written by http://www.winapi.co.kr