4.Á¤½Ä ¹öÀü

°¡.¹ö±× ¼öÁ¤ ¹× °³¼±

º£Å¸ 2 ¹ßÇ¥ ÈÄ ±æÁö´Â ¾Ê¾ÒÁö¸¸ ÁöÀεé°ú °Ô½ÃÆÇÀ» ÅëÇØ ¾à°£ÀÇ Å×½ºÆ®¸¦ °ÅÃÆ´Ù. ¸¹Àº º¸°í°¡ µé¾î¿ÀÁö´Â ¾Ê¾ÒÁö¸¸ Ä¡¸íÀûÀÎ ¹®Á¦¸¦ ÀÏÀ¸Å°´Â ¹ö±×°¡ ÀÖ¾î ¸î °¡Áö¸¦ ¼öÁ¤Çß´Ù. Á¤½Ä ¹öÀü ¹ßÇ¥Àü¿¡ ¼Ò½º¸¦ Á» ´õ ±ò²ûÇÏ°Ô Á¤¸®ÇÏ·Á°í ÇßÀ¸³ª ½Ã°£ ¹®Á¦·Î ÀÎÇØ ±×·¸°Ô±îÁö´Â ÇÏÁö ¸øÇØ ¾Æ½±´Ù.

Æ÷Ä¿½º ¾ø´Â »óÅ¿¡¼­ ºÐÇÒ Ãë¼Ò

ÆíÁýâÀ» ºÐÇÒÇØ ³õ°í ´Ù¸¥ ÇÁ·Î±×·¥À¸·Î Æ÷Ä¿½º¸¦ ¿Å°å´Ù°¡ ´Ù½Ã ¿À°Å³ª ¾Æ´Ï¸é ´ç±Ù ³»ÀÇ ´Ù¸¥ âÀ¸·Î À̵¿ÇÑ »óÅ¿¡¼­ ºÐÇÒÀ» Ãë¼ÒÇÏ¸é ´ç±ÙÀÌ Áï½Ã ´Ù¿îµÈ´Ù. ÀÌ ¹®Á¦´Â ¹ß»ý ¿øÀÎÀÌ ´Ù¼Ò º¹ÀâÇѵ¥ ºä°¡ Æı«µÉ ¶§ WM_SETFOCUS ¸Þ½ÃÁö¸¦ ÇÑ ¹ø ´õ ¹Þ±â ¶§¹®ÀÌ´Ù. ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â OnSetFocus¿¡¼­ ij·µÀÇ À§Ä¡¸¦ °áÁ¤Çϱâ À§ÇØ SetCaretÀ» È£ÃâÇϴµ¥ À̶§ Á¤·Ä Á¤º¸°¡ ÀÌ¹Ì Æı«µÇ¾î ¹ö·È±â ¶§¹®¿¡ ¹«ÇÑ ·çÇÁ¿¡ ºüÁö°Å³ª ¿Àµ¿ÀÛÀ» ÇÏ´Â °ÍÀÌ´Ù. ºäÀÇ OnDestroyÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.

 

void CApiEditText::OnDestroy(HWND hWnd)

{

     if (arHanWidth) {

          free(arHanWidth);

          arHanWidth=NULL;

     }

     if (pLine) {

          free(pLine);

          pLine=NULL;

     }

     if (hBit) {

          DeleteObject(hBit);

          hBit=NULL;

     }

     SetParser(-1);

     if (hMainFont) {

          DeleteObject(hMainFont);

     }

     free(lpDx);

}

 

¹öÆÛ¸¦ Á¤¸®ÇÏ°í Æ÷ÀÎÅÍ º¯¼ö¿¡ NULLÀ» ´ëÀÔÇÏ¿© È®½ÇÈ÷ Á¤¸®µÇ¾úÀ½À» ±â·ÏÇØ ³õ´Â´Ù. ±×¸®°í OnSetFocus¿¡¼­´Â ÀÌ Æ÷ÀÎÅÍÀÇ À¯È¿¼ºÀ» Á¡°ËÇÑ´Ù.

 

void CApiEditText::OnSetFocus(HWND hWnd, HWND hwndOldFocus)

{

     // Â÷Àϵ尡 Æ÷Ä¿½º¸¦ °¡Áø »óÅ¿¡¼­ Æı«µÉ ¶§ ºÎ¸ð°¡ Á¤¸®µÇ´Â Áß¿¡ 

     // WM_SEFOCUS°¡ ³¯¶ó¿À´Âµ¥ À̶§´Â ¹«½ÃÇÑ´Ù.

    if (pLine == NULL) return;

     SetCaret(FALSE,FALSE);

     ....

 

pLineÀÌ NULLÀ̸é ÀÚ½ÅÀÌ ÀÌ¹Ì Á¤¸®µÈ »óÅÂÀ̹ǷΠij·µÀÇ À§Ä¡¸¦ ´Ù½Ã °è»êÇÒ ÇÊ¿ä¾øÀÌ ±×³É ¸®ÅÏÇÏ¸é µÈ´Ù. Æı«½Ã¿¡ ºÒÇÊ¿äÇÑ ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾ÊÀ½À¸·Î½á ´Ù¿îµÇ´Â »çŸ¦ ¸·´Â´Ù.

DgCmd ¼öÁ¤

´ç±ÙÀº º°µµÀÇ ¼³Ä¡ ÇÁ·Î±×·¥ÀÌ ¾ø°í ÀÚ½ÅÀÌ ÃÖÃÊ ½ÇÇàµÉ ¶§ ÇÊ¿äÇÑ È¯°æÀ» ¸¸µç´Ù. ±×·¯´Ù º¸´Ï ¼³Ä¡¸¦ ÇØÁ¦ÇÏ´Â ÇÁ·Î±×·¥µµ µû·Î ¾ø°í µµ±¸ ¸Þ´º¸¦ ÅëÇØ ¼³Ä¡¸¦ ÇØÁ¦ÇÑ´Ù. ÀÌ ¹æ¹ý´ë·Î ¼³Ä¡ ¹× ÇØÁ¦ÇÏ¸é ½Ã½ºÅÛ¿¡ ¾Æ¹« ¹®Á¦°¡ ¾øÀ¸³ª °¡²û ½ÇÇà ÆÄÀϸ¸ »èÁ¦ÇÏ´Â »ç¶÷µéÀÌ ÀÖ´Ù. ÀÌ °æ¿ì ´ç±Ù ½ÇÇà ÆÄÀÏÀº »èÁ¦µÇ¾úÁö¸¸ DgCmd.dllÀº °è¼Ó Ž»ö±âÀÇ Æ˾÷ ¸Þ´º¿¡ "´ç±ÙÀ¸·Î ÆíÁý" Ç׸ñÀ» Ç¥½ÃÇÑ´Ù.

ÀÌ´Â ¸í¹éÈ÷ »ç¿ëÀÚÀÇ ½Ç¼öÀÌÁö¸¸ ÀÌ·± °æ¿ì¶óµµ »ç¿ëÀÚµéÀÌ ºÒÆíÀ» ´À³¢Áö ¾Êµµ·Ï ¹è·ÁÇÏ´Â °ÍÀÌ ÁÁÀ» °Í °°´Ù. ¼³Ä¡°¡ ÇÊ¿ä¾ø´Â ´Üµ¶ ½ÇÇà ÆÄÀÏÀ̹ǷΠÀÌ ÆÄÀÏÀ» Áö¿ì¸é ¼³Ä¡°¡ ÇØÁ¦µÉ °ÍÀ̶ó°í ±â´ëÇÏ´Â °Íµµ ¹«¸®´Â ¾Æ´Ñ °Í °°´Ù. º¹»ç¸¸ Çؼ­ ¾µ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À̹ǷΠ»èÁ¦¸¸ ÇÏ¸é ±ú²ýÇÏ°Ô Áö¿öÁö±â¸¦ ¹Ù¶ó´Â °ÍÀÌ´Ù. ÀÌ ±â´ë¿¡ ºÎÈïÇϱâ À§ÇØ DgCmd.dllÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.

 

HRESULT CDgCmdObj::QueryContextMenu (HMENU hmenu, UINT  uMenuIndex, UINT  uidFirstCmd,

      UINT  uidLastCmd, UINT  uFlags )

{

     // ´õºí Ŭ¸¯¿¡ ´ëÇؼ­´Â ¾Æ¹« µ¿ÀÛµµ ÇÏÁö ¾Ê´Â´Ù.

     if (uFlags & CMF_DEFAULTONLY) {

          return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,0);

     }

    

     // ´ç±ÙÀÌ »èÁ¦µÇ¾úÀ¸¸é ¸Þ´º¸¦ Ãâ·ÂÇÏÁö ¾Ê´Â´Ù.

     // Á¤»óÀûÀÎ ¹æ¹ýÀ¸·Î ¼³Ä¡ ÇØÁ¦ÇÏÁö ¾Ê°í ½ÇÇà ÆÄÀϸ¸ »èÁ¦ÇÏ´Â »ç¶÷µéÀ» À§ÇØ ÀÌ Ã³¸®°¡ ÇÊ¿äÇÏ´Ù.

     TCHAR InstPath[MAX_PATH];

     BOOL bExe=TRUE;

     SHRegReadString(SHCU,"Software\\Miyoungsoft\\Dangeun\\1.2\\Setting",

          "InstPath","",InstPath,MAX_PATH);

     if (lstrlen(InstPath) != 0) {

          HANDLE hFile;

          hFile=CreateFile(InstPath,0,0,NULL,OPEN_EXISTING,0,NULL);

          if (hFile == INVALID_HANDLE_VALUE) {

               bExe=FALSE;

          }

          CloseHandle(hFile);

     } else {

          bExe=FALSE;

     }

 

     if (bExe == FALSE) {

          return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,0);

     }

    

     // ¸Þ´º »ðÀÔ

     InsertMenu (hmenu,uMenuIndex,MF_BYPOSITION,uidFirstCmd,TEXT("´ç±ÙÀ¸·Î ÆíÁý"));

     return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,1 );

}

 

Æ˾÷ ¸Þ´º¸¦ ¿­±â Àü¿¡ ´ç±Ù ½ÇÇà ÆÄÀÏÀÌ Á¦´ë·Î Àß ÀÖ´ÂÁö È®ÀÎÇÏ°í ±×·¸Áö ¾Ê´Ù¸é Æ˾÷ ¸Þ´º¸¦ »ðÀÔÇÏÁö ¾Ê´Â´Ù. ¹°·Ð ÀÌ·¸°Ô ÇÏ´õ¶óµµ ·¹Áö½ºÆ®¸®¿¡ ³²Àº Â±âµéÀÌ »èÁ¦µÇÁö ¾Ê´Â ¹®Á¦°¡ ÀÖÁö¸¸ Àû¾îµµ °ÑÀ¸·Î º¸±â¿¡´Â ´ç±ÙÀÇ Á¸Àç°¡ »ç¶óÁø °Íó·³ º¸ÀÏ °ÍÀÌ´Ù. DgCmd.dllÀº ´ç±Ù ½ÇÇà ÆÄÀÏÀÇ Ä¿½ºÅÒ ¸®¼Ò½º·Î Æ÷ÇԵǾî ÀÖÀ¸¹Ç·Î ¸®¼Ò½º¸¦ ±³Ã¼ÇÑ ÈÄ ÀçÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù. ±×¸®°í ´ç±ÙÀ» ¼³Ä¡ ÇØÁ¦ÇÏ°í ÀçºÎÆÃÇÑ ÈÄ ´Ù½Ã ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ÀÌ¹Ì ´ç±ÙÀ» ¼³Ä¡ÇØ ³õÀº »ç¿ëÀÚ¿¡°Ô´Â ´Ù¼Ò ºÒÆíÇÑ ¾÷±×·¹À̵尡 µÇ°ÚÁö¸¸ »õ·Î ¼³Ä¡ÇÏ´Â »ç¶÷Àº ½ÇÇุ ÇÏ¸é µÈ´Ù.

¿öµå·¦ »óÅ¿¡¼­ ¼öÆò ½ºÅ©·Ñ

1.2 ¹öÀüºÎÅÍ µðÆúÆ® ¿É¼ÇÀ» Á¶Á¤ÇÏ¿© ÀÚµ¿ °³Çà »óÅ·Π½ÃÀÛÇϵµ·Ï ¼öÁ¤ÇÑ ¹Ù ÀÖ´Ù. ±×·±µ¥ ÀÌ ¼öÁ¤ÀÌ ¿Ïº®ÇÏÁö ¾Ê¾Æ ¿É¼Ç¸¸ ÀÚµ¿ °³ÇàÀ¸·Î ¹Ù²î°í ¼öÆò ½ºÅ©·Ñ ¹Ù´Â °è¼Ó µ¿ÀÛÇÏ´Â ºÒÀÏÄ¡°¡ ¹ß»ýÇß´Ù. ±×·¡¼­ ¹®¼­¸¦ ¿¬ ÈÄ ¼öÆòÀ¸·Î À̵¿ÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ·¸°Ô µÇ¸é ij·µÀÌ º¸ÀÌÁö ¾Ê´Â »óÅ°¡ µÉ ¼öµµ ÀÖ´Ù. SetWrap ÇÔ¼ö¿¡´Â ÀÚµ¿ °³Çà »óÅ°¡ µÇ¸é ¼öÆò ½ºÅ©·Ñ ¹Ù°¡ »ç¿ë ±ÝÁöµÇ´Â Äڵ尡 Á¦´ë·Î ÀÛ¼ºµÇ¾î ÀÖ´Ù. ±×·¯³ª ÃʱâÈ­½Ã¿¡´Â Á¤·Ä Á¤º¸°¡ ¾øÀ¸¹Ç·Î ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾Ê°í nWrap º¯¼ö°ª¸¸ º¯°æÇÑ´Ù. ¿©±â¿¡ ´ÙÀ½ Äڵ带 Ãß°¡ÇÑ´Ù.

 

void CApiEditText::SetDefaultSetting()

{

     if (pLine) {

          SetLineRatio(120);

          SetWrap(2);

          SetTabWidth(4);

     } else {

          LineRatio=120;

          nWrap=2;

        EnableScrollBar(hHorzScroll,SB_CTL,ESB_DISABLE_BOTH);

          TabWidth=4;

     }

 

¼öÆò ½ºÅ©·Ñ ¹Ù¸¦ óÀ½ºÎÅÍ »ç¿ë ±ÝÁö½ÃÄ×´Ù. ÀÌÈĺÎÅÍ´Â ÀÚµ¿ °³Çà ¿©ºÎ¿¡ µû¶ó ¼öÆò ½ºÅ©·Ñ ¹ÙÀÇ »ç¿ë °¡´É¼ºÀÌ °áÁ¤µÈ´Ù. µðÆúÆ® ¿É¼ÇÀ» °©Àڱ⠺¯°æÇÔÀ¸·Î½á »ý±ä ¹®Á¦Àε¥ º¸´Ù½ÃÇÇ µðÆúÆ® ¿É¼ÇÀ» °áÁ¤ÇÏ´Â °Íµµ Âü ½±Áö ¾ÊÀº ÀÏÀÌ´Ù.

ŸÀÌƲ ¹Ù ¼öÁ¤

ÀÌÁ¦ º£Å¸°¡ ¾Æ´Ñ Á¤½Ä ¹öÀüÀÌ µÉ °ÍÀ̹ǷΠŸÀÌƲ ¹ÙÀÇ ¹öÀü Ç¥½Ã¿¡¼­ Beta ¹®±¸¸¦ »èÁ¦ÇÏ°í ¹öÀü ¹øÈ£¸¦ Ç¥½ÃÇÑ´Ù.

 

     hWnd=CreateWindow(lpszClass,"´ç±Ù 1.2",WS_OVERLAPPEDWINDOW | WS_VISIBLE |

          WS_CLIPCHILDREN,

          CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,

          NULL,(HMENU)NULL,hInstance,NULL);

 

¶ÇÇÑ ÇÁ·Î±×·¥ ¼Ò°³ ´ëÈ­»óÀÚÀÇ ½ºÅÂƽ¿¡µµ º£Å¸ 2¸¦ Á¤½Ä ¹öÀüÀ¸·Î º¯°æÇÑ´Ù. ¿©±â±îÁö ÀÛ¾÷Çϸé Á¤½Ä ¹öÀü 1.2°¡ ¸¸µé¾îÁø´Ù.

³ª.ÀÌÈÄ ¹öÀü ±âȹ

ÀÌ»óÀ¸·Î Áö·çÇß´ø ´ç±Ù ÇÁ·ÎÁ§Æ® ½Ç½ÀÀ» ¸¶Ä£´Ù. °³ÀÎÀûÀ¸·Î ±²ÀåÈ÷ ¸¹Àº °øÀ» µé¿© °³¹ßÇß°í ½Ã°£µµ ¸¹ÀÌ °É·ÈÁö¸¸ ¾ÖÃÊ¿¡ ±â´ëÇß´ø °Í¸¸Å­ ¸¹Àº »ç¶÷µéÀÌ ÀÌ ÇÁ·ÎÁ§Æ®¸¦ ÂüÁ¶ÇÏÁö´Â ¾Ê´Â °Í °°´Ù. ¼Ò½ºÀÇ Çü½ÄÀÌ ±×´ÙÁö ±ò²ûÇÏÁö ¸øÇÏ°í ¼ÖÁ÷È÷ ³²ÀÌ ¸¸µç Äڵ带 ±×´ë·Î µû¶óÇÏ´Â ½ÄÀÇ ½Ç½ÀÀº °áÄÚ ½±Áö°¡ ¾Ê´Ù. ±×·¯³ª ÀÌ·± ¹®¼­Á¶Â÷µµ ¾ø´Ù¸é ±×¾ß¸»·Î ¸Ç¶¥¿¡ Çìµù(MDH)ÇØ¾ß Çϴµ¥ Àû¾îµµ ±âº» ±â¼úÀ» Àü´ÞÇϴµ¥´Â ³ª¸§´ë·Î ¸ñÇ¥¸¦ ÀÌ·çÁö ¾Ê¾Ò³ª ½º½º·Î À§¾ÈÇÑ´Ù.

´ç±Ù 1.2´Â ¾ÆÁ÷±îÁöµµ ½Ç½À ÇÁ·ÎÁ§Æ®ÀÇ ÇüŸ¦ ¶ì°í Àֱ⠶§¹®¿¡ ½ÇÁ¦ »ç¿ëÇϱ⿡´Â ¸ðÀÚ¶õ ±â´ÉµéÀÌ ¸¹°í ÃæºÐÇÑ °ËÁõÀ» ¹ÞÁö ¸øÇ߱⠶§¹®¿¡ ¾î»öÇÑ ±â´Éµéµµ ÀÖ´Ù. ¾Ë°í ÀÖ´Â ¹ö±×µµ ¸î °¡Áö ÀÖ°í ÁÁÁö ¸øÇÑ ±¸Á¶µµ ¿©±â Àú±â¿¡ ³²¾Æ ÀÖ´Ù. ÀÌ´Â Á¦ÀÛÀÚÀÇ ´É·ÂÀÌ ºÎÁ·ÇÑ °ÍÀÌ °¡Àå Å« ¿øÀÎÀÌ°ÚÁö¸¸ ¼³¸í °¡´ÉÇÑ ¼Ò½º¸¦ ¸¸µé·Á°í ÇÏ´Ù º¸´Ï ¹®Á¦¸¦ ¾Ë¸é¼­µµ ÇԺηΠ¼öÁ¤ÇÏÁö ¸øÇÏ´Â ºÒ°¡ÇÇÇÑ ÀÌÀ¯µµ ÀÖ´Ù.

1.2 ¹öÀüÀ» ¸¶Áö¸·À¸·Î ¹®¼­È­´Â ´õ ÀÌ»ó ÇÏÁö ¾Ê´Â´Ù. Äڵ差ÀÌ ´Ã¾î ÀÌÁ¦ À¯Áö, º¸¼ö¸¦ ÇÏ´Â °Íµµ ½±Áö ¾ÊÀº ÀÏÀÌ µÇ¾î ¹ö·È°í »ç¼ÒÇÑ ±â´É Çϳª¸¦ °íÄ¡´õ¶óµµ ¿©±â Àú±â ¼Õµ¥¾ß ÇÒ °÷ÀÌ ¸¹¾Æ ¹®¼­È­¸¦ ÇÏ´Â Àǹ̰¡ ¾ø´Ù. ¶ÇÇÑ ´õ ÀÌ»óÀÇ Ä£ÀýÇÑ ¹®¼­¸¦ ¿øÇÏ´Â »ç¶÷µµ ¾øÀ» °Í °°´Ù. »ç½Ç ÀÌ Á¤µµ ±Ô¸ðÀÇ ÇÁ·ÎÁ§Æ®¸¦ ºÐ¼®ÇÒ ´É·ÂÀÌ µÇ´Â »ç¶÷Àº ¼Ò½º¸¸ °ø°³Çصµ ÃæºÐÇÏ°í ±×·¸Áö ¾ÊÀº »ç¶÷Àº ¹®¼­¿Í ¼³¸í±îÁö °çµé¿©µµ ÀÌÇØÇϱâ Èûµé °ÍÀÌ´Ù.

±×·¯³ª ÇÁ·ÎÁ§Æ®´Â °è¼Ó À¯ÁöÇÏ¸ç ¼öÁ¤µÈ °á°ú¸¦ Áö¼ÓÀûÀ¸·Î ¹ßÇ¥ÇÒ °ÍÀÌ´Ù. ÇÁ·ÎÁ§Æ®ÀÇ º¯Ãµ °úÁ¤À» »ó¼¼ÇÏ°Ô ±â¼úÇÏÁö´Â ¾Ê´õ¶óµµ ¾î¶°ÇÑ ±â¼úÀÌ »ç¿ëµÇ¾ú´ÂÁö´Â °¡´ÉÇÏ´Ù¸é ¹®¼­È­ÇÒ °ÍÀ̸ç ÅؽºÆ® ÆíÁý ÄÁÆ®·Ñ(ApiEdit)´Â Àç»ç¿ë °¡´ÉÇÑ ÇüÅ·ΠÀÛ¼ºÇÏ¿© ´©±¸³ª ¾µ ¼ö ÀÖµµ·Ï ÇÒ °èȹÀÌ´Ù. 1.2 ¹öÀü ÀÌÈÄÀÇ ¼öÁ¤ °èȹÀ» ´ëÃæ Á¤¸®ÇØ º¸¸é ´ÙÀ½°ú °°´Ù.

 

¡á Á» ´õ ´Ù¾çÇÑ ¹®¼­ Æ÷¸Ë Áö¿ø. ÇÑ±Û Á¶ÇÕÇü ¹× ºñ À¯´ÏÄÚµå ¹®¼­ÀÇ ÄÚµå ÆäÀÌÁö ¼öµ¿ ÁöÁ¤ ¹× º¯È¯ ¿©ºÎ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ƯÈ÷ BOMÀÌ ¾ø´Â À¯´ÏÄÚµå ¹®¼­ ÀÚµ¿ ÆǺ° ±â´ÉÀÌ ¾ÆÁ÷ ¾ø¾î ½Ã±ÞÈ÷ ÀÛ¼ºÇØ¾ß ÇÒ ºÎºÐÀÌ´Ù.

¡á À¯´ÏÄÚµå ¹®¼­¸¦ º¯È¯¾øÀÌ ¹Ù·Î ÆíÁýÇÒ ¼ö ÀÖ´Â ³»ºÎ ±¸Á¶ °³¼±. ÇöÀç´Â ¹«Á¶°Ç ³»ºÎ Æ÷¸ËÀÎ ANSI·Î º¯È¯ ÈÄ ÆíÁýÇÏ°í ÀúÀåÇÒ ¶§ ´Ù½Ã º¯È¯ÇÏ´Â ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. À¯´ÏÄÚµå ¹®¼­°¡ Á» ´õ ´ëÁßÈ­µÇ´Â ½ÃÁ¡¿¡ ¸ÂÃß¾î ³»ºÎ ±¸Á¶¸¦ ¹Ù²Ü °èȹÀÌ´Ù.

¡á ÇÁ·ÎÁ§Æ® ÀÚü¸¦ À¯´ÏÄÚµå ¹× 64ºñÆ®·Î ÄÄÆÄÀÏ °¡´ÉÇϵµ·Ï À̽ļº È®º¸. ¶ÇÇÑ ´Ù±¹¾î ¹öÀü Á¦ÀÛÀ» À§ÇÑ ¸®¼Ò½º Á¤¸®. ÀüüÀûÀÎ ¼Ò½º À籸¼º ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.

¡á ÆÄÀÏ ÅÇ¿¡ ´Ý±â, ÀúÀå ¹öÆ° ¹× Æ˾÷ ¸Þ´º ºÎÂø. ÆÄÀÏ ÅÇ¿¡¼­ ÆíÁýÁßÀÎ ¹®¼­¸¦ Á÷Á¢ °ü¸®ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.

¡á MDI ±¸Á¶ Å»ÇÇ. ºñÁÖ¾ó ½ºÆ©µð¿Àó·³ µ¿½Ã¿¡ ¿©·¯ °³ÀÇ ¹®¼­¸¦ ÆíÁýÇÒ ¼ö´Â ÀÖµÇ MDI°¡ ¾Æ´Ñ °íÀ¯ÀÇ ¹®¼­Ã¢ ±¸Á¶¸¦ »ç¿ëÇÒ °èȹÀÌ´Ù.

¡á ÀÚ¹Ù, C#, ºñÁÖ¾ó º£ÀÌÁ÷, XML µî ´õ ´Ù¾çÇÑ ±¸¹® °­Á¶ ±â´É Ãß°¡. ±¸¹® °­Á¶ ±â´ÉÀº ¸¹À»¼ö·Ï ÁÁÀ¸¹Ç·Î Èû ´ê´Â´ë·Î ´Ã¸°´Ù.

 

±½Á÷ÇÑ °³¼± »çÇ׸¸ Á¤¸®ÇØ ºÁµµ ´ëÃæ ÀÌÁ¤µµ µÇ¸ç »ç¼ÒÇÑ °³¼± »çÇ×±îÁö Æ÷ÇÔÇÏ¸é ¾ÕÀ¸·Î ÇØ¾ß ÇÒ ÀÏÀÌ Á¤¸» »ê´õ¹Ì°°´Ù. »ç¿ëÀÚµéÀÇ ¿ä±¸ »çÇ×µµ °¡±ÞÀû ¼ö¿ëÇØ¾ß ÇÏ°í º¸°íµÈ ¹ö±×µµ Àâ¾Æ¾ß Çϸç ÇнÀ¿ë ÇÁ·ÎÁ§Æ®Àθ¸Å­ Á» ´õ Àб⠽±°í ÀçÈ°¿ë °¡´ÉÇÑ ¼Ò½º¸¦ ¸¸µé¾î¾ß ÇÒ °ÍÀÌ´Ù. ÀÌÈÄ ´õ ÀÌ»ó ¾ËÆÄ´Ï, º£Å¸´Ï ÇÏ´Â ¹öÀüÀº ¸¸µéÁö ¾ÊÀ» °ÍÀ̸ç 1.2.1, 1.2.2 ½ÄÀ¸·Î °³¼± ¹× ¼öÁ¤½Ã¸¶´Ù ¹öÀüÀ» Áö¼ÓÀûÀ¸·Î ³ôÀÏ °ÍÀÌ´Ù.

¹®Á¦´Â ½Ã°£Àε¥ Á¦ÀÛÀÚ°¡ ¿ö³« ½Ç¼Ó¾øÀÌ °ø»ç´Ù¸ÁÇÑÁö¶ó ÀÌ ÀÛ¾÷À» ¾ðÁ¦ ÇÒ °ÍÀ̶ó´Â ±¸Ã¼ÀûÀÎ °èȹÀ» Àâ±â°¡ ¹«Ã´ ¾î·Æ´Ù. ±×·¯³ª ¾Æ¹«¸® ¹Ù»Ú°í ÇÒ ÀÏÀÌ ¸¹´õ¶óµµ Ç×»ó ´ç±Ù ÇÁ·ÎÁ§Æ®¸¦ ¿°µÎ¿¡ µÎ°í °ü¸®ÇÒ °ÍÀÌ¸ç ½Ã°£ÀÌ Çã¶ôÇϴ´ë·Î Á» ´õ ÁÁÀº ÅؽºÆ® ÆíÁý±â¸¦ ¸¸µé±â À§ÇØ Ç×»ó ³ë·ÂÇÒ °ÍÀÌ´Ù. ¾Æ´Ï, ³ë·ÂÇÏ°í ½Í´Ù. °³¹ßÀڷμ­ ¸¸µé°í ½ÍÀº ÇÁ·Î±×·¥¸¸ ½Å°æ¾²¸ç »ì ¼ö ÀÖ´Ù¸é ¾ó¸¶³ª ÇູÇÒ±î?