â ÇÁ·Î½ÃÀú µðÀÚÀÎ

´ÙÀ½ ¿¹Á¦¿¡¼­´Â ÀϹÝÀûÀΠâ ÇÁ·Î½ÃÀúÀÇ ±¸Á¶¸¦ º¸¿© ÁÝ´Ï´Ù. â ÇÁ·Î½ÃÀú¿¡¼­´Â ½ºÀ§Ä¡ ¹®ÀÇ ¸Þ½ÃÁö Àμö¸¦ »ç¿ë ÇÏ ¿© º°µµ »ç·Ê ¹®À» ó¸® ÇÏ´Â °³º° ¸Þ½ÃÁö¿Í ÇÔ²². °øÁö °¢°¢ÀÇ °æ¿ì °¢ ¸Þ½ÃÁö¿¡ ´ë ÇÑ Æ¯Á¤ °ªÀ» ¹Ýȯ ÇÕ´Ï´Ù. â ÇÁ·Î½ÃÀú DefWindowProc ÇÔ¼ö¸¦ È£Ãâ ÇÏ´Â ¸Þ½ÃÁö¸¦ ó¸® ÇÏÁö ¾Ê½À´Ï´Ù,.

LRESULT Äݹé MainWndProc (
    HWND hwnd, / / â ÇÚµé
    UINT uMsg / / ¸Þ½ÃÁö ½Äº°ÀÚ
    WPARAM wParam / / óÀ½ ¸Þ½ÃÁö ¸Å°³ º¯¼ö
    LPARAM lParam) / ÃÊ´ç ¸Þ½ÃÁö ¸Å°³ º¯¼ö
{½ºÀ§Ä¡ (uMsg) {WM_CREATE °æ¿ì: / / ÃʱâÈ­ ÇÕ´Ï´Ù. 
            0; ¹Ýȯ 
 
        WM_PAINT »ç·Ê: / / À©µµ¿ìÀÇ Å¬¶óÀÌ¾ðÆ® ¿µ¿ªÀ» ÆäÀÎÆ® ÇÕ´Ï´Ù. 
            0; ¹Ýȯ 
 
        WM_SIZE »ç·Ê: / / Å©±â¿Í âÀÇ À§Ä¡¸¦ ¼³Á¤ ÇÕ´Ï´Ù. 
            0; ¹Ýȯ 
 
        WM_DESTROY »ç·Ê: / / â °ü·Ã µ¥ÀÌÅÍ °³Ã¼¸¦ Á¤¸® ÇÕ´Ï´Ù. 
            0; ¹Ýȯ 
 
        / / / / ´Ù¸¥ ¸Þ½ÃÁö¸¦ ó¸® ÇÕ´Ï´Ù. 
        / / ±âº»: DefWindowProc (hwnd, uMsg, wParam, lParam); ¹Ýȯ 
    } 0; ¹Ýȯ 
} 
 

±ÍÇÏÀÇ Ã¢À» ¸¸µç ÈÄ¿¡ ±×³É ÇÏÁö¸¸ ÀÀ¿ë ÇÁ·Î±×·¥ CreateWindowEx ÇÔ¼ö ½ÇÆÐ Çϸé FALSE¸¦ ¹Ýȯ ÇÏ ¿©ÀÌ ¸Þ½ÃÁö¿¡ ÀÀ´ä ÇÏ´Â °æ¿ì º¸³½ WM_NCCREATE messageis. ´ç½ÅÀÇ Ã¢ÀÌ ÀÌ¹Ì ¸¸µç ÈÄ WM_CREATE ¸Þ½ÃÁö Àü¼Û µË´Ï´Ù.

´ç½ÅÀÇ Ã¢ÀÌ ¼Ò¸ê µÇ·Á°í ÇÒ ¶§ WM_DESTROY ¸Þ½ÃÁö Àü¼Û µË´Ï´Ù. ÆÄ±« µÇ °í âÀÇ ¸ðµç ÀÚ½Ä Ã¢ ÆÄ±« DestroyWindow ÇÔ¼ö¸¦ ´Ù·é´Ù. âÀÌ ¼Ò¸ê Á÷Àü WM_NCDESTROY ¸Þ½ÃÁö°¡ º¸³»Áý´Ï´Ù.

¾ÆÁÖ ÃÖ¼ÒÇÑ Ã¢ ÇÁ·Î½ÃÀú¸¦ ó¸® ÇØ¾ß ÇÕ´Ï´Ù WM_PAINT ¸Þ½ÃÁö¸¦ ÀÚü¸¦ ±×¸±. ÀϹÝÀûÀ¸·Î, ±×°Í »Ó¸¸ ¾Æ´Ï¶ó ¸¶¿ì½º ¹× Űº¸µå ¸Þ½ÃÁö¸¦ ó¸® ÇØ¾ß ÇÕ´Ï´Ù. â ÇÁ·Î½ÃÀú ±×µéÀ» ó¸® ÇØ¾ß ÇÏ´ÂÁö ¿©ºÎ¸¦ È®ÀÎ ÇÏ·Á¸é °³º° ¸Þ½ÃÁö¿¡ ´ë ÇÑ ¼³¸íÀº ÂüÁ¶ ÇϽʽÿÀ.

ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¸Þ½ÃÁö ó¸®ÀÇ ÀϺηΠDefWindowProc ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡, ÀÀ¿ë DefWindowProc, ¸Þ½ÃÁö Àü´Þ Çϱâ Àü¿¡ ¸Þ½ÃÁö ¸Å°³ º¯¼ö¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç´Â ±×°ÍÀº ±âº» ÀÚü ÀÛ¾÷À» ¼öÇàÇÑ ÈÄ Ã³¸®¸¦ °è¼ÓÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú WM_CREATE ¸Þ½ÃÁö ´ë½Å WM_INITDIALOG ¸Þ½ÃÁö¸¦ ¼ö½Å ÇÏ °í DefDlgProc ÇÔ¼ö¸¦ ó¸® µÇÁö ¾ÊÀº ¸Þ½ÃÁö¸¦ Àü´Þ ÇÏÁö ¾Ê½À´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú´Â Á¤È® ÇÏ °Ô â ÇÁ·Î½ÃÀú¿Í µ¿ÀÏ.

 

Index