WndProc

¿øÇü

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)

MFC ¿øÇü

virtual LRESULT CWnd::WindowProc( UINT message, WPARAM wParam, LPARAM lParam );

Àμö

¢ºhWnd : ¸Þ½ÃÁö¸¦ ¹ÞÀº À©µµ¿ìÀÇ ÇÚµé

¢ºiMessage : Àü´Þ¹ÞÀº ¸Þ½ÃÁö

¢ºwParam, lParam : ¸Þ½ÃÁö¿¡ µû¸¥ Ãß°¡ Á¤º¸ÀÌ¸ç ¸Þ½ÃÁö¸¶´Ù Àǹ̰¡ ´Ù¸£´Ù.

¸®ÅÏ

¸Þ½ÃÁö¸¦ ó¸®ÇÑ °á°ú¸¦ ¸®ÅÏÇÏ¸ç ¸®ÅÏ°ªÀÇ Àǹ̵µ ¸Þ½ÃÁö¸¶´Ù ´Ù¸£´Ù.

¼³¸í

À©µµ¿ì·Î Àü´ÞµÇ´Â ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â ¸Þ½ÃÁö ó¸® ÇÔ¼öÀÌ¸ç º¸Åë À©µµ¿ì ÇÁ·Î½ÃÀú(Window Procedure)¶ó°í ºÎ¸¥´Ù. »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼öÀ̹ǷΠÀ̸§Àº Á¤ÇØÁ® ÀÖÁö ¾ÊÀ¸³ª º¸Åë WndProc ¶Ç´Â WindowProcÀ̶ó´Â À̸§À» ¸¹ÀÌ »ç¿ëÇÑ´Ù. ¿î¿µÃ¼Á¦´Â »ç¿ëÀÚÀÇ Á¶ÀÛ°ú ½Ã½ºÅÛ ³»ºÎÀÇ º¯È­°¡ ÀÖÀ» ¶§ ¸Þ½ÃÁö Å¥¿¡ ¸Þ½ÃÁö¸¦ ³ÖÀ¸¸ç WinMainÀÇ ¸Þ½ÃÁö ·çÇÁ´Â ¸Þ½ÃÁö Å¥¿¡¼­ ¸Þ½ÃÁö¸¦ ²¨³» À©µµ¿ì ÇÁ·Î½ÃÀú·Î Àü´ÞÇØ ÁØ´Ù.

À©µµ¿ì ÇÁ·Î½ÃÀú´Â Àڽſ¡°Ô Àü´ÞµÈ ¸Þ½ÃÁöÀÇ Àǹ̸¦ ºÐ¼®ÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥ °íÀ¯ÀÇ Ã³¸®¸¦ ÇÑ´Ù. º¸Åë ÇϳªÀÇ ÇÁ·Î±×·¥ÀÌ º¹¼ö°³ÀÇ ¸Þ½ÃÁö¸¦ ó¸®ÇϹǷΠÀ©µµ¿ì ÇÁ·Î½ÃÀú´Â ÀϹÝÀûÀ¸·Î ¸Þ½ÃÁöº°·Î °íÀ¯ÇÑ Ã³¸®¸¦ ÇÒ ¼ö ÀÖ´Â switch¹®À¸·Î ±¸¼ºµÈ´Ù.

switch(iMessage)
{
	case Msg1:
		ó¸®1;
		return 0;
	case Msg2:
		ó¸®2;
		return 0;
	case Msg3:
		ó¸®3;
		return 0;
	default:
		return DefWindowProc(...);
}

ÀÌ ÇÔ¼ö°¡ ó¸®ÇÏÁö ¾Ê´Â ¸ðµç ¸Þ½ÃÁöµéÀº ¹Ýµå½Ã DefWindowProcÀ¸·Î º¸³»ÁÖ¾î ¿î¿µÃ¼Á¦°¡ µðÆúÆ® 󸮸¦ ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÖ¾î¾ß ÇÑ´Ù.

Âü°íÇÔ¼ö

DefWindowProc : µðÆúÆ® ¸Þ½ÃÁö ó¸® ÇÔ¼ö

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


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