WM_QUIT

Àμö

wParam : Á¾·á ÄÚµåÀ̸ç PostQuitMessageÀÇ Àμö°¡ Àü´ÞµÈ´Ù. ÀÌ Á¾·á ÄÚµå´Â ÀÀ¿ë ÇÁ·Î±×·¥À» ½ÇÇà½ÃŲ ÇÁ·Î¼¼½º°¡ ¹ÞÀ¸³ª º¸Åë ¹«½ÃÇÑ´Ù.

¼³¸í

ÀÀ¿ë ÇÁ·Î±×·¥À» Á¾·áÇ϶ó´Â ½ÅÈ£ÀÌ´Ù. PostQuitMessage ÇÔ¼ö È£Ãâ¿¡ ÀÇÇØ ¹ß»ýÇϸç GetMessage ÇÔ¼ö°¡ 0À» ¸®ÅÏÇϵµ·Ï ÇÔÀ¸·Î½á ¸Þ½ÃÁö ·çÇÁ¸¦ Á¾·á½ÃÅ°´Â ¿ªÇÒÀ» ÇÑ´Ù. GetMessage ÇÔ¼ö´Â WM_QUIT ÀÌ¿ÜÀÇ ¸ðµç ¸Þ½ÃÁö¿¡ ´ëÇØ 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇϹǷΠ°è¼Ó ·çÇÁ¸¦ µ¹Áö¸¸ WM_QUIT¿¡ ´ëÇؼ­¸¸ 0À» ¸®ÅÏÇÑ´Ù. ±×·¡¼­ ¸Þ½ÃÁö ·çÇÁ´Â Åë»ó ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºµÈ´Ù.

	while(GetMessage(&Message,0,0,0)) {
		TranslateMessage(&Message);
		DispatchMessage(&Message);
	}
	return (int)Message.wParam;

GetMessage ÇÔ¼ö°¡ 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ´Â µ¿¾È ¹«ÇÑÈ÷ ÀÌ ·çÇÁ¸¦ µµ´Âµ¥ ´Ü WM_QUIT°¡ Àü´ÞµÉ ¶§´Â while¹®ÀÌ Á¾·áµÇ¸ç µû¶ó¼­ WinMainÀÌ Á¾·áµÈ´Ù. ¸ÞÀÎ À©µµ¿ìÀÇ WM_DESTROY¿¡¼­´Â ¹Ýµå½Ã PostQuitMessage ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¸Þ½ÃÁö ·çÇÁ°¡ Á¾·áµÉ ¼ö ÀÖµµ·Ï ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸ÞÀÎ À©µµ¿ì´Â Æı«µÇ¾úÀ¸³ª ÇÁ·Î¼¼½º´Â °è¼Ó ½ÇÇàÁßÀÎ »óÅ°¡ µÈ´Ù.

PeekMessage ÇÔ¼ö´Â WM_QUIT ¸Þ½ÃÁö¿Í »ó°ü¾øÀÌ ¸Þ½ÃÁö Å¥¿¡ ¸Þ½ÃÁö°¡ ÀÖ´ÂÁö¸¸ ¸®ÅÏÇϹǷΠ¸Þ½ÃÁö ·çÇÁ¸¦ ±¸¼ºÇÒ ¶§ µû·Î WM_QUIT ¸Þ½ÃÁö¸¦ Á¡°ËÇØ¾ß ÇÑ´Ù.

	for (;;) {
		if (PeekMessage(&Message,NULL,0,0,PM_REMOVE)) {
			if (Message.message==WM_QUIT)
				break;
			TranslateMessage(&Message);
			DispatchMessage(&Message);
		}
		else {
			// ¹é±×¶ó¿îµå ÀÛ¾÷
		}
	}

Á¶»çÇÑ ¸Þ½ÃÁö°¡ WM_QUITÀÌ¸é ¸Þ½ÃÁö ·çÇÁ¸¦ Å»ÃâÇÏ´Â º°µµÀÇ Äڵ尡 ÇÊ¿äÇÏ´Ù.

WM_QUIT´Â À©µµ¿ì¿¡°Ô Àü´ÞµÇ´Â ¸Þ½ÃÁö°¡ ¾Æ´Ï¹Ç·Î À©µµ¿ì ÇÁ·Î½ÃÀú´Â ÀÌ ¸Þ½ÃÁö¸¦ ¹ÞÀ» ¼ö ¾ø´Ù. À©µµ¿ì ÇÁ·Î½ÃÀú±îÁö Àü´ÞµÇ±â Àü¿¡ ¸Þ½ÃÁö ·çÇÁ¿¡¼­ ÀÌ ¸Þ½ÃÁö¸¦ Â÷´ÜÇÏ¿© ·çÇÁ¸¦ Å»ÃâÇÏ°Ô µÈ´Ù.

¸®ÅÏ

¸®ÅÏ°ª ¾øÀ½

¿¹Á¦

 

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


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