|
1.¿ä¾à Ãʺ¸ÀÚµéÀÌ ÀÌÇØÇϱ⠾î·Á¿ö ÇÏ´Â À©µµ¿ì ¼Ò¸ê ¼ø¼¿¡ ´ëÇØ¼ ¾Ë¾Æ º¾´Ï´Ù. 2.º»¹® MFC framework¿¡¼, »ç¿ëÀÚ°¡ frame À©µµ¸¦ ´Ý°ÔµÇ¸é, À©µµ´Â ±âº»ÀûÀ¸·Î OnClose ÇÚµéÀ» call ÇÕ´Ï´Ù. ±×¸®°í OnClose ³»ºÎ¿¡¼´Â DestroyWindow¸¦ È£ÃâÇÏÁÒ. °¡Àå ¸¶Áö¸·À¸·Î È£ÃâµÇ´Â ÇÔ¼ö´Â OnNcDestroyÀÌ´Ù. ÀÌ ÇÔ¼ö´Â ¾à°£ÀÇ Á¤¸®¸¦ ÇÏ´Â ÇÔ¼ö·Î À©µµ¸¦ Á¤¸®Çϱâ À§ÇÏ¿© ±âº»ÀûÀ¸·Î ºÒ·ÁÁö´Â ÇÔ¼öÀÔ´Ï´Ù. OnNcDestroyÇÔ¼ö ³»ºÎ¿¡¼´Â PostNcDestroyÇÔ¼ö¸¦ È£ÃâÇϰÚÁÒ. afx_msg OnClose( )FrameworkÀº CWnd³ª applicationÀ» Á¾·á ½Ã۱â À§Çؼ ÀÌ ÇÔ¼ö¸¦ ¸¶Ä¡ ½Ã±×³¯ ó·³ È£ÃâÇÑ´Ù. ³»ºÎÀÇ ±âº»ÀûÀÎ ±¸ÇöÀº DestroyWindow¸¦ È£ÃâÇÑ´Ù. virtual BOOL DestroyWindow( )Destroy Window ÇÔ¼ö´Â 1) CWnd³»ºÎ¿¡ ÀÖ´Â À©µµ¸¦ destroy ÇÑ´Ù. 2) ¶ÇÇÑ À©µµ¸¦ ÇØÁ¦Çϰí ÀÔ·Â Æ÷Ä¿½º¸¦ Á¦°ÅÇϱâ À§ÇÑ ÀûÀýÇÑ message¸¦ À©µµ¿¡°Ô º¸³½´Ù. 3) À©µµÀÇ ¸Þ´º Á¦°Å 4) application queue¸¦ ºñ¿î´Ù. 5) timer¸¦ Á¦°Å 6) clipboardÀÇ ¼ÒÀ¯ÁÖ Á¦°Å 7) Clipboard-viewer chainÀ» ²÷´Â´Ù. ( CWnd°¡ viewer chainÀÇ ¸Ç À§¿¡ ÀÖÀ» °æ¿ì ) 8) WM_DESTROY( OnDestroy )¿Í WM_NCDESTROY( OnNcDestroy ) ¸Þ½ÃÁö¸¦ À§µµ¿¡°Ô º¸³½´Ù. ÇÏÁö¸¸ ¾ÆÁ÷ CWnd °´Ã¼´Â destroyÇÏÁö ¾Ê´Â´Ù. ÀÌ ÇÔ¼ö¸¦ ¿À¹ö¶óÀ̵å ÇÏ´õ¶óµµ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù. ( ¿Ö³Ä¸é ½Ã½ºÅÛÀÌ ¾Ë¾Æ¼ È£ÃâÀ» ÇØÁִϱî..) ÇÏÁö¸¸, ±»ÀÌ ÇÏ°í ½Í´Ù¸é ÇØµµ È£ÃâÇØµµ µË´Ï´Ù. ±×¸®°í ¸¸¾à ³»ºÎ¿¡ ÀÚ½Ä À©µµ°¡ ÀÖ´õ¶óµµ °ÆÁ¤ÇÏÁö ¾ÊÀ¸¼Åµµ µË´Ï´Ù. ¿Ö³ÄÇϸé, ÀڽĵéÀ» ¸ÕÀú destroyÇÑ ´ÙÀ½¿¡ ÀÚ½ÅÀÌ Áױ⠶§¹®ÀÌÁÒ. afx_msg void OnDestroy()FrameworkÀÌ CWnd¿¡°Ô ÇöÀç CWnd°¡ ¼Ò¸êµÇ°í ÀÖ´Â ÁßÀ̶ó°í ¾Ë·Á ÁÖ±âÀ§ÇÏ¿© È£Ãâ ÇÕ´Ï´Ù. OnDestroyÇÔ¼ö´Â CWnd ÇÔ¼ö°¡ ȸ鿡¼ »ç¶óÁø ´ÙÀ½¿¡ È£ÃâµË´Ï´Ù. OnDestroy is called first for the CWnd being destroyed, then for the child windows of CWnd as they are destroyed. It can be assumed that all child windows still exist while OnDestroy runs. afx_msg void OnNcDestroy()Client°¡ ¾Æ´Ñ ¿µ¿ªÀÌ destroyµÉ ¶§ Frame work¿¡ ÀÇÇÏ¿© ºÒ·ÁÁö´Â ÇÔ¼öÀÔ´Ï´Ù.. À©µµ°¡ ¼Ò¸êµÉ¶§ ¸¶Áö¸·À¸·Î ºÒ·ÁÁö´Â ÇÔ¼öÀ̱⵵ ÇÏÁÒ. ±âº»ÀûÀ¸·Î ¾à°£ÀÇ Á¤¸®¸¦ ÇÑÈÄ, PostNcDestroy ÇÔ¼ö¸¦ È£ÃâÇϴµ¥, ´ë°Ô´Â ÀÌ ÇÔ¼ö¸¦ ¿À¹ö¶óÀ̵å ÇÏÁö ¾ÊÁö¸¸ ¸¸¾à ÇÏ°ÔµÇ¸é ³»ºÎ¿¡¼ »óÀ§ Ŭ·¡½ºÀÇ OnNcDestroy¸¦ È£ÃâÇØ¾ß¸¸ ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ³»ºÎÀûÀ¸·Î À©µµ¸¦ À§ÇØ ÇÒ´çµÈ ¸Þ¸ð¸®°¡ freeµÇÁö ¸øÇÏ°Ô µÇÁÒ. virtual void PostNcDestroy()À©µµ°¡ ¼Ò¸êµÈ ÈÄ OnNcDestroyÇÔ¼ö¿¡ ÀÇÇÏ¿© ºÒ·ÁÁö´Â ±âº»ÇÔ¼öÀÔ´Ï´Ù. »ç¿ëÀÚµéÀÌ »ó¼Ó¹Þ¾Æ ¸¸µç Ŭ·¡½ºÀÇ Á¤¸®¸¦ À§ÇÑ Äڵ带 »ðÀÔÇÏ¸é µÇÁÒ. ( ex. delete this; ) - 2001.08.13 Smile Seo - |