ÀÌ ³ëÆ®´Â WinApps, DocTemplates, ¹®¼, ÇÁ·¹ÀÓ ¹× º¸±â¿¡ ´ë ÇÑ »ý¼º ¹× ¼ÒÀ¯±Ç ¹®Á¦¸¦ ¼³¸íÇÕ´Ï´Ù. Visual c + + ÇÁ·Î±×·¡¸Ó °¡ÀÌµå ¿¡¼ ´ëºÎºÐÀÇÀÌ Á¤º¸ ¹× ±âŸ Èï¹Ì·Î¿î »ý¼º ¹× ¼ÒÀ¯±Ç ¹®Á¦¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù.
WinApp
½Ã½ºÅÛ¿¡ ÇϳªÀÇ CWinApp °³Ã¼¡£
±×°ÍÀº Á¤ÀûÀ¸·Î ±¸¼º ÇÏ °í WinMainÀÇ ÇÁ·¹ÀÓ ¿öÅ©ÀÇ ³»ºÎ ±¸ÇöÀ¸·Î ÃʱâÈ. ¾Æ¹«°Íµµ À¯¿ë ÇÒ CWinApp ¿¡¼ ÆÄ»ý ÇØ¾ß ÇÕ´Ï´Ù (¿¹¿Ü: È®Àå Dll¿¡ ÀÖ´Â CWinApp ÀνºÅϽº ¸»¾Ò¾î¾ß ? ÃʱâÈ DllMain ¿¡¼ ´ë½Å ¼öÇà µË´Ï´Ù)¡£
ÇÑ CWinApp °³Ã¼ ¸ñ·ÏÀ» ¹®¼ ¼½Ä ÆÄÀÏ ( CPtrList)¸¦ ¼ÒÀ¯ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ´ç Çϳª ÀÌ»óÀÇ ¹®¼ ¼½Ä ÆÄÀÏÀÌÀÔ´Ï´Ù. Doctemplates´Â ÀϹÝÀûÀ¸·Î CWinApp::InitInstance ¿¡¼ ¸®¼Ò½º ÆÄÀÏ (¹®ÀÚ¿ ¹è¿)¿¡¼ ·Îµå¡£
pTemplate = »õ·Î¿î CDocTemplate (IDR_MYDOCUMENT,...);
AddDocTemplate(pTemplate)
ÇÑ CWinApp °³Ã¼´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ÀÖ´Â ¸ðµç ÇÁ·¹ÀÓ Ã¢ÀÌ ¼ÒÀ¯ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÁÖ ÇÁ·¹ÀÓ Ã¢Àº CWinApp::m_pMainWnd;¿¡ ÀúÀå µÇ¾î¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î m_pMainWnd ¿¡¼ ¼³Á¤ÇÑ InitInstance ±¸Çö AppWizard ´ç½ÅÀ» À§ÇØ ±×°ÍÀ» ÇÒ ¼ö ¾ø½À´Ï´Ù°¡ ÇÏ´Â °æ¿ì. ´ÜÀÏ ¹®¼ ÀÎÅÍÆäÀ̽º (SDI)ÀÌ ÇÑ CFrameWnd À¯ÀÏÇÑ ¹®¼ ÇÁ·¹ÀÓ Ã¢ »Ó¸¸ ¾Æ´Ï¶ó ±âº» ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·¹ÀÓ Ã¢ÀÇ ¿ªÇÒÀÔ´Ï´Ù. ´ÙÁß ¹®¼ ÀÎÅÍÆäÀ̽º (MDI)´Â MDI ÇÁ·¹ÀÓ ( CMDIFrameWndŬ·¡½º)´Â ¸ðµç ÀÚ½Ä CFrameWnds¸¦ Æ÷ÇÔ ÇÏ´Â ÁÖ ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·¹ÀÓ Ã¢ÀÔ´Ï´Ù. °¢ ÀÚ½Ä Ã¢ Ŭ·¡½º CMDIChildWnd ( CFrameWnd¿¡¼ ÆÄ»ý) À̸ç ÀáÀçÀûÀ¸·Î ¸¹Àº ¹®¼ ÇÁ·¹ÀÓ Ã¢ Áß Çϳª·Î ¿ª¡£
DocTemplates
CDocTemplate ÀÛ¼ºÀÚÀÇ ¹®¼ °ü¸®ÀÚÀÔ´Ï´Ù. ±×°ÍÀº ¸¸µå´Â ¹®¼ ¼ÒÀ¯ ÇÕ´Ï´Ù. °æ¿ì¿¡ ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ¾Æ·¡ ¼³¸í µÈ ¸®¼Ò½º ±â¹Ý ¹æ¹ýÀ» »ç¿ë ÇÏ ¿©, ±×°ÍÀº ÇÊ¿ä ÇÏÁö ¾Ê½À´Ï´Ù CDocTemplate ¿¡¼ ÆÄ»ý¡£
SDI ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ë ÇÑ Å¬·¡½º´Â CSingleDocTemplate ÇϳªÀÇ ¿¸° ¹®¼ÀÇ ÃßÀû. MDI ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ë ÇÑ CMultiDocTemplate Ŭ·¡½º´Â ÇöÀç ¿·Á ÀÖ´Â ¸ðµç ¹®¼´Â ¼½Ä ÆÄÀÏ¿¡¼ ¸¸µçÀÇ ¸ñ·Ï ( CPtrList)À» À¯Áö ÇÕ´Ï´Ù. CDocTemplate::AddDocument ¹× CDocTemplate::RemoveDocument °¡»ó ¸â¹ö¸¦ Ãß°¡ Çϰųª ¼½Ä ÆÄÀÏ¿¡¼ ¹®¼¸¦ Á¦°Å ±â´ÉÀ» Á¦°ø ÇÕ´Ï´Ù. CDocTemplate CDocument Ä£±¸ À̹ǷΠ¿ì¸®°¡ ¹®¼¸¦ ÀÛ¼º ÇÏ´Â ¹®¼ ¼½Ä ÆÄÀÏ¿¡ ´Ù½Ã °¡¸®Å°µµ·Ï º¸È£ CDocument::m_pDocTemplate ´Ù½Ã Æ÷ÀÎÅ͸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
CWinApp ¸ðµç ¹®¼ ¼½Ä ÆÄÀÏ¿¡ Äõ¸® ÇÏ´Â ±âº» OnFileOpen ±¸ÇöÀ» ó¸® ÇÕ´Ï´Ù. ÀÌ¹Ì ¿·Á ÀÖ´Â ¹®¼¿¡ ´ë ÇÑ º¸°í ÇÏ °í »õ ¹®¼¸¦ ¿·Á¸é Çü½ÄÀ» °áÁ¤À» Æ÷ÇÔ ÇÏ´Â ±¸Çö¡£
CDocTemplate °ü¸® ¹®¼ ¹× ÇÁ·¹ÀÓ¿¡ ´ë ÇÑ UI ¹ÙÀεù¡£
CDocTemplate ¸í¸í µÇÁö ¾ÊÀº ¹®¼ ¼öÀÇ Ä«¿îÆ®¸¦ À¯Áö¡£
CDocument
CDocument CDocTemplate ¿¡ ÀÇÇØ ¼ÒÀ¯ ÇÏ °í¡£
¹®¼´Â ¹®¼ ( CPtrList) º¸°í ( CView¿¡¼ ÆÄ»ý) ÇöÀç ¿·Á ÀÖ´Â º¸±â ¸ñ·Ï¡£
¹®¼ ÇÒ »ý¼º/ÆÄ±« ÇÏÁö Ç÷¹ÀÌ, ÇÏÁö¸¸ ±×µéÀº ¸¸µé¾îÁø ÈÄ ¼·Î ¿¬°á µÇ¾î ÀÖ½À´Ï´Ù. ¹®¼¸¦ ´ÝÀ» ¶§ (Áï, ÅëÇØ ÆÄÀÏ/´Ý±â), ¸ðµç ¿¬°á µÈ ºä¸¦ ´ÝÈü´Ï´Ù. ¹®¼¸¦ ´ÝÀ» °Í ÀÌ´Ù (Áï, â/´Ý±â) ¹®¼¿¡¼ ¸¶Áö¸· º¸±â¸¦ ´ÝÀ» ¶§¡£
CDocument::AddView, RemoveView ÀÎÅÍÆäÀ̽º´Â ¸ñ·Ï º¸±â¸¦ À¯Áö ÇÏ´Â µ¥ »ç¿ë µË´Ï´Ù. CDocument CView Ä£±¸ À̹ǷΠ¿ì¸® CView::m_pDocument ´Ù½Ã Æ÷ÀÎÅ͸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
CFrameWnd
CFrameWnd (ÇÁ·¹ÀÓ) MFC 1.0¿¡¼¿Í °°Àº ¿ªÇÒÀ» ÇÑ´Ù ÇÏÁö¸¸ Áö±ÝÀº CFrameWnd Ŭ·¡½º »õ Ŭ·¡½º¸¦ ÆÄ»ý ÇÏÁö ¾Ê°í ¸¹Àº °æ¿ì¿¡ »ç¿ë Çϵµ·Ï ¼³°è µÇ¾ú½À´Ï´Ù. ±×·¡¼ ¸¹Àº Ç¥ÁØ ¸í·É ÀÌ¹Ì ±¸Çö CMDIFrameWnd ¹× CMDIChildWnd ÆÄ»ýµÈ Ŭ·¡½ºµµ Çâ»ó µË´Ï´Ù.
CFrameWnd ÇÁ·¹ÀÓÀÇ Å¬¶óÀÌ¾ðÆ® ¿µ¿ª¿¡ âÀ» ¸¸µå´Â ÀÏÀ» ´ã´ç ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î °Å±â¿¡ ÇÑ Ã¢ ÇÁ·¹ÀÓÀÇ Å¬¶óÀÌ¾ðÆ® ¿µ¿ªÀ» ä¿ì´Â¡£
MDI ÇÁ·¹ÀÓ Ã¢ÀÇ Å¬¶óÀÌ¾ðÆ® ¿µ¿ª Â÷·Ê·Î ¸ðµç MDI ÀÚ½Ä ÇÁ·¹ÀÓ Ã¢ÀÇ ºÎ¸ð´Â MDICLIENT Á¦¾î ä¿öÁý´Ï´Ù. SDI ÇÁ·¹ÀÓ Ã¢ÀÌ ³ª MDI ÀÚ½Ä ÇÁ·¹ÀÓ Ã¢¿¡ ´ë ÇÑ Å¬¶óÀÌ¾ðÆ® ¿µ¿ª ÀϹÝÀûÀ¸·Î °¡µæ CView-window °³Ã¼¸¦ ÆÄ»ý ÇÕ´Ï´Ù. CSplitterWndÀÇ °æ¿ì º¸±âÀÇ Å¬¶óÀÌ¾ðÆ® ¿µ¿ª CSplitterWnd window °³Ã¼¿Í CView°¡µæ-ÆÄ»ýµÈ window °³Ã¼ (ÇϳªÀÇ ºÐÇÒ Ã¢ ´ç) CSplitterWnd ÀÇ ÀÚ½Ä Ã¢À¸·Î ¸¸µé¾îÁý´Ï´Ù¡£
±â¼ú ³ëÆ® ¹øÈ£·Î |nbsp; Ä«Å×°í¸®º° ±â¼ú ³ëÆ®(&N)