<À©µµ¿ì 3.1ÀÇ ´ÙÀ̾ó·Î±× ±¸Çö>

 MFC¿¡¼­ Á¦°øÇÏ´Â CFileDialog¸¦ ÀÌ¿ëÇØ ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Ùº¸¸é À©µµ¿ì 95°¡ »õ·Ó°Ô Á¦°øÇÏ´Â ½ºÅ¸ÀÏÀÇ °øÅë ´ÙÀ̾ó·Î±×°¡ ¶ß´Âµ¥, ÀÌÀü Çü½Ä(À©µµ¿ì 3.1)ÀÇ °øÅë ´ÙÀ̾ó·Î±×¸¦ À©µµ¿ì 95¿¡¼­ ±¸ÇöÇÏ´Â ¹æ¹ýÀÌ ¾ø´ÂÁö¿ä.

 ¹°·Ð °¡´ÉÇÕ´Ï´Ù. CFileDialog¸¦ ÀÌ¿ëÇØ ¿­±â³ª ÀúÀå ´ÙÀ̾ó·Î±×¸¦ ±¸ÇöÇϸé À©µµ¿ì 95 ½ºÅ¸ÀÏÀÇ ÆÄÀÏ´ÙÀ̾ó·Î±×°¡ »ý¼ºµË´Ï´Ù. À©µµ¿ì 95ÀÇ °æ¿ì CFileDialogÀÇ »ý¼ºÀÚ¿¡¼­ °­Á¦·Î OFN_EXPLORER¶ó´Â Ç÷¡±×¸¦ ³Ö¾îÁֱ⠶§¹®ÀÔ´Ï´Ù. ´ÙÀ½Àº CFileDialogÀÇ »ý¼ºÀÚ ÄÚµåÀÔ´Ï´Ù.

±×·¯¹Ç·Î ÀÌÀü ½ºÅ¸ÀÏ(À©µµ¿ì 3.1 ½ºÅ¸ÀÏ)ÀÇ ÆÄÀÏ´ÙÀ̾ó·Î±×¸¦ »ý¼ºÇÏ°í ½ÍÀ¸¸é ´ÙÀ½°ú °°Àº Äڵ带 Ãß°¡ÇØ ÁÖ¸é µË´Ï´Ù.

 

<ÇÁ·¹ÀÓ ¸Þ´º¸¦ µ¿ÀûÀ¸·Î º¯È¯>

 MFC¸¦ ÀÌ¿ëÇÑ MDI ÇÁ·Î±×·¥¿¡¼­ ÇÁ·¹ÀÓ ¸Þ´º°¡ µ¿ÀûÀ¸·Î º¯ÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ±¸Ã¼ÀûÀ¸·Î ¾î¶»°Ô ÇÏ¸é µ¿ÀûÀÎ ¸Þ´º¸¦ ¸¸µé ¼ö ÀÖÀ»±î¿ä.

 »ý°¢º¸´Ù °£´ÜÇÕ´Ï´Ù. ¸ÕÀú ¸®¼Ò½º ÅÇ¿¡¼­ ¸Þ´º¸¦ »ý¼ºÇÕ´Ï´Ù. ±×¸®°í ´ÙÀ½°ú °°Àº Äڵ带 Ãß°¡Çؼ­ ¸ÞÀÎ ÇÁ·¹ÀÓÀÇ ¸Þ´º¸¦ ¹Ù²Ù¾î ÁÖ¸é µË´Ï´Ù. ¿©±â¼­ IDR_MENU1Àº »õ·Î »ý¼ºÇÑ ¸Þ´º ¸®¼Ò½ºÀÇ IDÀÔ´Ï´Ù.

 

<½ºÅ©·Ñ¹Ù¸¦ ¾ø¾Ö·Á¸é>

 CFormView¸¦ ÀÌ¿ëÇØ ÇÁ·Î±×·¥À» ¸¸µé¾ú´Âµ¥ ¸ÞÀÎ ÇÁ·¹ÀÓº¸´Ù ºäÀÇ Å©±â°¡ ´õ Å« °æ¿ì ½ºÅ©·Ñ¹Ù°¡ »ý°Ü ÇÁ·Î±×·¥ÀÌ º¸±â ÈäÇØÁý´Ï´Ù. ÀÌ·± °æ¿ì ½ºÅ©·Ñ¹Ù¸¦ ¾ø¾ÖÁÖ´Â ¹æ¹ýÀº ¹«¾ùÀԴϱî.

ºä°¡ º¸¿©Áö±â Àü¿¡ È£ÃâµÇ´Â ºäÀÇ ¸â¹öÇÔ¼öÀÎ OnInitialUpdate()¿¡¼­ À©µµ¿ìÀÇ Å©±â¸¦ Á¶Á¤ÇØ Áְųª ½ºÅ©·Ñ Å©±â¸¦ Á¶Á¤ÇÏ´Â µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.

 Ã¹¹ø° ¹æ¹ýÀº ÇÁ·¹ÀÓ Å©±â¸¦ ºä Å©±â¿¡ ¸Â°Ô Á¶Á¤ÇØ ÁÖ´Â °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀÌ °æ¿ì ºäÀÇ Å©±â°¡ ÇÁ·¹ÀÓÀÇ Å©±âº¸´Ù Å©¸é Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù.

  µÎ ¹ø° ¹æ¹ýÀº CFormView°¡ CScrollView·ÎºÎÅÍ »ó¼Ó¹ÞÀº Ŭ·¡½ºÀ̹ǷΠSetScaleToFitSize(CSize) ¸¦ ÀÌ¿ëÇØ ½ºÅ©·Ñ Å©±â¸¦ ÇöÀç ºäÀÇ Å©±â·Î Á¶Á¤ÇØ ½ºÅ©·Ñ¹Ù¸¦ ¾ø¾Ö´Â °ÍÀÔ´Ï´Ù.

 

<À©µµ¿ì 95/NT¿¡¼­ ¾ÆÀÌÅÛ °³¼ö Á¦ÇÑ ¿©ºÎ>

À©µµ¿ì 3.1¿¡¼­ ¸®½ºÆ® ¹Ú½º´Â 8192°³ÀÇ ¸®½ºÆ® ¾ÆÀÌÅÛ°ú 64KB ÀÌ»óÀÇ ¾ÆÀÌÅÛ µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¼ö ¾ø¾ú½À´Ï´Ù. ÀÌ·¯ÇÑ Á¦ÇÑ»çÇ×ÀÌ À©µµ¿ì 95/NT¿¡¼­µµ ¶È°°ÀÌ Àû¿ëµÇ´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.

À©µµ¿ì 95¿¡¼­ ¸®½ºÆ®¹Ú½º ¾ÆÀÌÅÛ µ¥ÀÌÅÍ´Â ¸Þ¸ð¸® ¿ë·®¿¡ ÀÇÇؼ­¸¸ Á¦Çѹ޽À´Ï´Ù. ±×¸®°í ¸®½ºÆ® ¾ÆÀÌÅÛÀÇ °³¼ö´Â ¸®½ºÆ® ¹Ú½º ¸Þ½ÃÁöÀÇ wParam°ªÀÌ 16ºñÆ®À̹ǷΠ32767°³¸¦ ÃÊ°úÇÒ ¼ö ¾ø½À´Ï´Ù. ÇÏÁö¸¸ À©µµ¿ì NT¿¡¼­´Â ÀÌ·± Á¦ÇÑÀÌ ÀüÇô ¾ø½À´Ï´Ù.

 

<ÇÁ·Î±×·¥ ÀÛ¼º ÈÄ MRU ±â´É »èÁ¦ ¹× º¯°æ>

MFC¸¦ ÀÌ¿ëÇØ ÇÁ·Î±×·¥À» ¸¸µé¸é MRU(Most Recently Used) ¸®½ºÆ®°¡ ÀÚµ¿À¸·Î ¸Þ´º¿¡ Ãß°¡µÇ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. Ŭ·¡½º À§Àúµå¿¡¼­ ¼³Á¤ÇÏ°Ô²û µÇ¾î Àִµ¥, ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ ÈÄ¿¡ MRU ¸®½ºÆ®ÀÇ °³¼ö¸¦ º¯°æÇϰųª ÀÌ ±â´ÉÀ» Á¦°ÅÇÏ´Â ¹æ¹ýÀº ¾ø´ÂÁö¿ä.

CWinApp Ŭ·¡½º´Â CRecentFileList ŸÀÔÀÇ Æ÷ÀÎÅÍ ¸â¹ö º¯¼ö m_pRecentFileList¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ º¯¼ö´Â CWinApp::LoadStdProfileSettings()¶ó´Â ÇÔ¼ö°¡ È£ÃâµÇ¾úÀ» ¶§ ¸Þ¸ð¸®°¡ ÇÒ´çµÇ°í ÃʱâÈ­µË´Ï´Ù. ±×¸®°í ÆÄÀÏÀ» ÀúÀåÇÒ ¶§¸¶´Ù ÇÁ·¹ÀÓ¿÷Àº ±× ÆÄÀÏ À̸§À» ÀÌ º¯¼ö ¸®½ºÆ®¿¡ Ãß°¡ÇÕ´Ï´Ù.

 CWinApp::LoadStdProfileSettings()Àº CWinApp Ŭ·¡½º·ÎºÎÅÍ »ó¼Ó¹ÞÀº Ŭ·¡½ºÀÇ CYourApp::InitInstance()¿¡¼­ È£ÃâµË´Ï´Ù. ÀÌ ÇÔ¼öÀÇ ¿øÇüÀº ´ÙÀ½°ú °°½À´Ï´Ù.

 ¿©±â¼­ nMaxMRU´Â MRU ¸®½ºÆ®ÀÇ °³¼ö¸¦ ÀǹÌÇÏ¸ç µðÆúÆ® ¸Å°³º¯¼öÀÎ _AFX_MRU_LIST ´Â Ŭ·¡½º À§Àúµå¿¡¼­ ¼³Á¤ÇÑ °ªÀ¸·Î º¸Åë 4°³ÀÔ´Ï´Ù. ¸¸¾à nMaxMRU¸¦ ¹Ù²Ù¸é À¯ÁöµÇ´Â MRU ¸®½ºÆ® °³¼öµµ ¹Ù²î°Ô µË´Ï´Ù. µû¶ó¼­ nMaxMRU°¡ 0À̸é ÇÁ·¹ÀÓ¿÷Àº MRU ¸®½ºÆ®¸¦ À¯ÁöÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à CYourApp::InitInstance() ÀÌ¿ÜÀÇ °÷¿¡¼­ MRU ¸®½ºÆ®ÀÇ °³¼ö¸¦ ¹Ù²ãÁÖ´Â ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù¸é, m_pRecentFileList ¸â¹ö¿¡ ÇÒ´çµÈ ¸Þ¸ð¸®¸¦ ¹Ýµå½Ã ÇØÁ¦ÇØ¾ß ÇÕ´Ï´Ù.

 

<¸ð´Þ ÇÁ·ÎÆÛƼ½ÃÆ® ´ÙÀ̾ó·Î±×¿¡¼­ ¹öÆ° Á¦°Å>

¸ð´Þ ÇÁ·ÎÆÛƼ½ÃÆ®(PropertySheet) ´ÙÀ̾ó·Î±×¸¦ ¸¸µé¾ú½À´Ï´Ù. ±×·±µ¥ ÇÁ·ÎÆÛƼ½ÃÆ®¿¡ ±âº»ÀûÀ¸·Î µé¾î ÀÖ´Â ¹öÆ° Áß µµ¿ò¸»°ú Àû¿ë ¹öÆ°Àº ÇÊ¿äÇÏÁö ¾Ê¾Æ ¾ø¾ÝÀ¸¸é ÁÁ°Ú´Âµ¥ ¾Æ¹«¸® ã¾ÆºÁµµ ÀÌ ¹öÆ°¿¡ ´ëÇÑ ¾ð±ÞÀÌ ¾ø´õ±º¿ä. ¾î¶»°Ô Çϸé ÀÌ µÎ °³ÀÇ ¹öÆ°À» ¾ø¾Ù ¼ö ÀÖÀ»±î¿ä.

´ÙÀ½ Äڵ带 »ðÀÔÇØÁÖ¸é °£´ÜÈ÷ ¸ð´Þ ÇÁ·ÎÆÛƼ½ÃÆ® ´ÙÀ̾ó·Î±× ¹öÆ°À» Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

- the end of this article -