================================================================================ MFC ¶óÀ̺귯¸® : Paint ÇÁ·ÎÁ§Æ® °³¿ä ================================================================================ ÀÀ¿ë ÇÁ·Î±×·¥ ¸¶¹ý»ç¸¦ »ç¿ëÇÏ¿© Paint ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¸µì´Ï´Ù. ÀÌ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­´Â ±âº»ÀûÀÎ MFC »ç¿ë ¹ä¹ý°ú ÀÀ¿ë ÇÁ·Î±×·¥ ÀÛ¼º ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù. ÀÌ ÆÄÀÏ¿¡´Â Paint ÀÀ¿ë ÇÁ·Î±×·¥À» ±¸¼ºÇÏ´Â °¢ ÆÄÀÏ¿¡ ´ëÇÑ °³¿ä°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. Paint.vcproj ÀÀ¿ë ÇÁ·Î±×·¥ ¸¶¹ý»ç¸¦ »ç¿ëÇÏ¿© »ý¼ºµÈ VC++ ÇÁ·ÎÁ§Æ®ÀÇ ÁÖ ÇÁ·ÎÁ§Æ® ÆÄÀÏÀÔ´Ï´Ù. ÀÌ ÆÄÀÏ¿¡´Â ÆÄÀÏÀ» »ý¼ºÇÑ Visual C++ ¹öÀü Á¤º¸ ¹× ÀÀ¿ë ÇÁ·Î±×·¥ ¸¶¹ý»ç¿¡¼­ ¼±ÅÃÇÑ Ç÷§Æû, ±¸¼º, ÇÁ·ÎÁ§Æ® ±â´É µîÀÇ Á¤º¸°¡ Æ÷ÇԵ˴ϴÙ. Paint.h ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÁÖ Çì´õ ÆÄÀÏÀÔ´Ï´Ù. ÀÌ ÆÄÀÏ¿¡´Â ´Ù¸¥ ÇÁ·ÎÁ§Æ®¿¡ °ü·ÃµÈ Resource.h¿Í °°Àº ƯÁ¤ Çì´õ°¡ Æ÷ÇԵǸç CPaintApp ÀÀ¿ë ÇÁ·Î±×·¥ Ŭ·¡½º°¡ ¼±¾ðµË´Ï´Ù. Paint.cpp CPaintApp ÀÀ¿ë ÇÁ·Î±×·¥ Ŭ·¡½º¸¦ Æ÷ÇÔÇÏ´Â ÁÖ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¼Ò½º ÆÄÀÏÀÔ´Ï´Ù. Paint.rc ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÏ´Â ¸ðµç Microsoft Windows ¸®¼Ò½º°¡ ³ª¿­µÈ ÆÄÀÏÀÔ´Ï´Ù. ÀÌ ÆÄÀÏ¿¡´Â RES ÇÏÀ§ µð·ºÅ͸®¿¡ ÀúÀåµÈ ¾ÆÀÌÄÜ, ºñÆ®¸Ê ¹× Ä¿¼­°¡ Æ÷ÇԵǸç Microsoft Visual C++¿¡¼­ Á÷Á¢ ÀÌ ÆÄÀÏÀ» ÆíÁýÇÒ ¼öµµ ÀÖ½À´Ï´Ù. »ç¿ëÀÚÀÇ ÇÁ·ÎÁ§Æ® ¸®¼Ò½º´Â 1042¿¡ µé¾î ÀÖ½À´Ï´Ù. res\Paint.ico ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¾ÆÀÌÄÜÀ¸·Î »ç¿ëµÇ´Â ¾ÆÀÌÄÜ ÆÄÀÏÀÔ´Ï´Ù. ÀÌ ¾ÆÀÌÄÜÀº ÁÖ ¸®¼Ò½º ÆÄÀÏÀÎ Paint.rc¿¡ Æ÷ÇԵ˴ϴÙ. res\Paint.rc2 Microsoft Visual C++¿¡¼­ ÆíÁýÇÒ ¼ö ¾ø´Â ¸®¼Ò½º°¡ Æ÷ÇÔµÈ ÆÄÀÏÀÔ´Ï´Ù. ¸®¼Ò½º ÆíÁý±â¿¡¼­ ÆíÁýÇÒ ¼ö ¾ø´Â ¸ðµç ¸®¼Ò½º´Â ÀÌ ÆÄÀÏ¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ///////////////////////////////////////////////////////////////////////////// ÁÖ ÇÁ·¹ÀÓ Ã¢¿¡ ÇØ´çµÇ´Â ³»¿ëÀÔ´Ï´Ù. ÇÁ·ÎÁ§Æ®¿¡ Ç¥ÁØ MFC ÀÎÅÍÆäÀ̽º°¡ Æ÷ÇԵ˴ϴÙ. MainFrm.h, MainFrm.cpp CMainFrame ÇÁ·¹ÀÓ Å¬·¡½º¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏÀÔ´Ï´Ù. ÇÁ·¹ÀÓ Å¬·¡½º´Â CFrameWnd¿¡¼­ ÆÄ»ýµÇ¸ç ¸ðµç SDI ÇÁ·¹ÀÓ ±â´ÉÀ» Á¦¾îÇÕ´Ï´Ù. res\Toolbar.bmp µµ±¸ ¸ðÀ½¿¡ ¹ÙµÏÆÇ½Ä À̹ÌÁö¸¦ ¸¸µé ¶§ »ç¿ëµÇ´Â ºñÆ®¸Ê ÆÄÀÏÀÔ´Ï´Ù. Ãʱ⠵µ±¸ ¸ðÀ½ ¹× »óÅ ǥ½ÃÁÙÀº CMainFrame Ŭ·¡½º¿¡ ±¸¼ºµË´Ï´Ù. ¸®¼Ò½º ÆíÁý±â¸¦ »ç¿ëÇÏ¿© µµ±¸ ¸ðÀ½ ºñÆ®¸ÊÀ» ÆíÁýÇÏ°í Paint.rcÀÇ IDR_MAINFRAME TOOLBAR ¹è¿­À» ¾÷µ¥ÀÌÆ®ÇÏ¿© µµ±¸ ¸ðÀ½ ´ÜÃß¿¡ Ãß°¡ÇÕ´Ï´Ù. ///////////////////////////////////////////////////////////////////////////// ÀÀ¿ë ÇÁ·Î±×·¥ ¸¶¹ý»ç¿¡¼­ ´ÜÀÏ ¹®¼­ Á¾·ù ¹× ´ÜÀÏ ºä¸¦ ¸¸µì´Ï´Ù. PaintDoc.h, PaintDoc.cpp - ¹®¼­ CPaintDoc Ŭ·¡½º¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏÀÔ´Ï´Ù. ÀÌ ÆÄÀÏÀ» ÆíÁýÇÏ¿© ƯÁ¤ ¹®¼­ µ¥ÀÌÅ͸¦ Ãß°¡ÇÏ°í ÆÄÀÏÀ» ÀúÀå ¹× ·ÎµåÇÕ´Ï´Ù (CPaintDoc::Serialize »ç¿ë). PaintView.h, PaintView.cpp - ¹®¼­ ºä CPaintView Ŭ·¡½º¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏÀÔ´Ï´Ù. CPaintView °³Ã¼¸¦ »ç¿ëÇÏ¿© CPaintDoc °³Ã¼¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. ///////////////////////////////////////////////////////////////////////////// ±âŸ Ç¥ÁØ ÆÄÀÏ StdAfx.h, StdAfx.cpp ¹Ì¸® ÄÄÆÄÀÏµÈ Çì´õ ÆÄÀÏ(PCH) Paint.pch ¹× ¹Ì¸® ÄÄÆÄÀÏµÈ Çü½Ä ÆÄÀÏ StdAfx.obj¸¦ ºôµåÇÒ ¶§ »ç¿ëµÇ´Â ÆÄÀÏÀÔ´Ï´Ù. Resource.h »õ·Î¿î ¸®¼Ò½º ID¸¦ Á¤ÀÇÇϴ ǥÁØ Çì´õ ÆÄÀÏÀÔ´Ï´Ù. Microsoft Visual C++¿¡¼­ ÀÌ ÆÄÀÏÀ» ÀÐ°í ¾÷µ¥ÀÌÆ®ÇÕ´Ï´Ù. ///////////////////////////////////////////////////////////////////////////// ±âŸ Á¤º¸ ÀÀ¿ë ÇÁ·Î±×·¥ ¸¶¹ý»ç¿¡¼­´Â "TODO:"¸¦ »ç¿ëÇÏ¿© Ãß°¡Çϰųª »ç¿ëÀÚ ÁöÁ¤ÇØ¾ß ÇÏ´Â ¼Ò½º Äڵ带 ³ªÅ¸³À´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ °øÀ¯ DLL¿¡ MFC¸¦ »ç¿ëÇÏ°í ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¾ð¾î°¡ ¿î¿µ üÁ¦ÀÇ ¾ð¾î¿Í ´Ù¸¥ °æ¿ì Microsoft Visual C++ CD-ROMÀÇ Win\System µð·ºÅ͸®¿¡ ÀÖ´Â ÇØ´ç Áö¿ªÀÇ ¸®¼Ò½ºÀÎ MFC70XXX.DLLÀ» ÄÄÇ»ÅÍÀÇ system ¶Ç´Â system32 µð·ºÅ͸®¿¡ º¹»çÇÑ ´ÙÀ½ MFCLOC.DLL·Î À̸§À» ¹Ù²Ù¾î¾ß ÇÕ´Ï´Ù. "XXX"´Â ÇØ´ç ¾ð¾î¸¦ ³ªÅ¸³»´Â ¾à¾îÀÔ´Ï´Ù. ¿¹¸¦ µé¾î MFC70DEU.DLL¿¡´Â µ¶ÀϾî·Î º¯È¯µÈ ¸®¼Ò½º°¡ Æ÷ÇԵ˴ϴÙ. ÀÌ·± ÀÛ¾÷À» ÇÏÁö ¾ÊÀ¸¸é ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÀϺΠUI ¿ä¼Ò°¡ ¿î¿µ üÁ¦ÀÇ ¾ð¾î·Î ³²¾Æ ÀÖ°Ô µË´Ï´Ù. /////////////////////////////////////////////////////////////////////////////