WM_CLOSE

Àμö

Àμö ¾øÀ½

¼³¸í

À©µµ¿ì°¡ ´ÝÈ÷±â Àü¿¡ ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÇ¸ç ¸ÞÀÎ À©µµ¿ìÀÎ °æ¿ì´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Á¾·áµÈ´Ù´Â ½ÅÈ£ÀÌ´Ù. ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇÏÁö ¾Ê°í DefWindowProcÀ¸·Î º¸³»¸é DestroyWindow ÇÔ¼ö¸¦ È£ÃâÇÏ¿© À©µµ¿ì¸¦ Æı«Çϵµ·Ï ÇÑ´Ù. ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÇ¾úÀ» ¶§´Â ¾ÆÁ÷ À©µµ¿ì°¡ Æı«µÈ °ÍÀÌ ¾Æ´Ï¹Ç·Î À©µµ¿ì°¡ Æı«µÇ´Â °ÍÀ» Áß°£¿¡ Â÷´ÜÇÒ ¼ö ÀÖ´Ù. ¹ÌÀúÀå ÆÄÀÏÀÌ Àְųª ÇÁ·Î±×·¥À» Á¾·áÇÒ »óȲÀÌ µÇÁö ¾ÊÀ» ¶§ »ç¿ëÀÚ¿¡°Ô ¸Þ½ÃÁö ¹Ú½º¸¦ ÅëÇØ Á¾·á »ç½ÇÀ» È®ÀνÃų ¼ö ÀÖÀ¸¸ç ÀÌ ¸Þ½ÃÁö¸¦ °¡·Îä¼­ ´Ü¼øÈ÷ returnÇϸé DestroyWindow°¡ È£ÃâµÇÁö ¾Êµµ·Ï ÇÒ ¼ö ÀÖ´Ù.

¸®ÅÏ

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

¿¹Á¦

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â ÇÁ·Î±×·¥À» Á¾·áÇϱâ Àü¿¡ »ç¿ëÀÚ¿¡°Ô ¸Þ½ÃÁö ¹Ú½º·Î Á¾·á »ç½ÇÀ» È®ÀÎÇÑ´Ù.

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	TCHAR Mes[]="ÇÁ·Î±×·¥À» Á¾·áÇØ º¸½Ê½Ã¿À";

	switch(iMessage) {
	case WM_CLOSE:
		if (MessageBox(hWnd,"ÇÁ·Î±×·¥À» Á¾·áÇϽðڽÀ´Ï±î?",
			"Áú¹®",MB_YESNO)==IDNO) {
			return 0;
		} else {
			break;
		}
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		TextOut(hdc,10,10,Mes,lstrlen(Mes));
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

»ç¿ëÀÚ°¡ '¾Æ´Ï¿À'¸¦ ¼±ÅÃÇϸé returnÇÏ¿© DefWindowProcÀ¸·Î º¸³»Áö ¾Êµµ·Ï ÇÏ¿© Á¾·á 󸮸¦ Â÷´ÜÇÒ ¼ö ÀÖ´Ù. '¿¹'¸¦ ¼±ÅÃÇϸé break¹®À¸·Î ºüÁ® ³ª¿Í µðÆúÆ® 󸮸¦ Çϵµ·Ï ÇÔÀ¸·Î½á ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù. ¹ÌÀúÀå ÆÄÀÏÀÌ ÀÖÀ» °æ¿ìµµ ¸Þ½ÃÁö ¹Ú½º¸¦ ÅëÇØ ÀúÀå ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù.

WM_DESTROY¿¡¼­´Â ÀÌ¹Ì À©µµ¿ì Æı«°¡ È®Á¤µÈ »óÅÂÀ̹ǷΠÁ¾·á¸¦ °ÅºÎÇÒ ¼ö ¾ø´Ù.

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

WM_DESTROY


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