°¡.º¯°æ °ü¸®

ApiDraw10¿¡¼­´Â ÆíÁýÇÑ ¹®¼­¸¦ ÆÄÀÏ·Î ÀúÀåÇÑ´Ù. ÆÄÀÏ ÀÔÃâ·Â ±â´ÉÀ» Ãß°¡ÇÏ·Á¸é ¸ÕÀú ÇöÀç ÆíÁýÇÏ°í ÀÖ´Â ÆÄÀÏÀÇ À̸§À» °ü¸®ÇØ¾ß ÇÑ´Ù. ±×·¡¾ß »õ·Î ¸¸µç ¹®¼­ÀÎÁö ¾Æ´Ï¸é ÀúÀåµÈ ÆÄÀÏÀ» ºÒ·¯¿Â °ÍÀÎÁö, ±×·¸´Ù¸é ÆÄÀÏÀÇ °æ·Î´Â ¾îµðÀÎÁö¸¦ ¾Ë ¼ö ÀÖ´Ù. ¶ÇÇÑ ÆíÁýÁßÀÎ ¹®¼­°¡ ¾ðÁ¦ º¯°æµÇ´ÂÁö¸¦ °ü¸®ÇØ¾ß ÇÑ´Ù. ±×·¡¾ß ¹®¼­¸¦ ´ÝÀ» ¶§ ÀúÀå ¿©ºÎ¸¦ ÆÇ´ÜÇÏ¿© ÀúÀåÇÒ °ÍÀÎÁö ¹ö¸± °ÍÀÎÁö¸¦ ¹°¾î º¼ ¼ö ÀÖ´Ù. ´ÙÀ½ µÎ °³ÀÇ Àü¿ª º¯¼ö¸¦ Ãß°¡ÇÑ´Ù.

 

TCHAR NowFile[MAX_PATH];

BOOL bModified;

 

ÆÄÀϸíÀ̹ǷΠMAX_PATH ±æÀ̸¦ °¡Áö´Â ¹®ÀÚÇü ¹è¿­·Î ¼±¾ðÇßÀ¸¸ç º¯°æ ¿©ºÎ´Â BOOLÇüÀ̾î¾ß ÇÑ´Ù. ÇöÀç ÆíÁýÁßÀÎ ÆÄÀÏÀº ¾ÆÁÖ Áß¿äÇÑ Á¤º¸À̹ǷΠº¸Åë ŸÀÌƲ ¹Ù¿¡ Ãâ·ÂÇÑ´Ù. ´ÙÀ½ ÇÔ¼ö´Â ÆÄÀϸíÀ» Àü´ÞÇϸé ÀÌ ÆÄÀϸíÀ» NowFile¿¡ º¹»çÇÏ°í ŸÀÌƲ ¹Ù¿¡ ÇÁ·Î±×·¥ À̸§°ú ÆíÁýÁßÀÎ ÆÄÀÏÀÇ °æ·Î¸¦ º¸¿©ÁØ´Ù.

 

void ChangeCaption(TCHAR *Path)

{

   TCHAR Cap[MAX_PATH+64];

 

   lstrcpy(NowFile,Path);

   wsprintf(Cap,"ApiDraw - %s",Path);

   SetWindowText(hWndMain,Cap);

}

 

OnCreate¿¡¼­ µÎ Àü¿ª º¯¼ö¸¦ ´ÙÀ½°ú °°ÀÌ ÃʱâÈ­ÇÑ´Ù.

 

LRESULT OnCreate(HWND hWnd,WPARAM wParam,LPARAM lParam)

{

   ....

   ChangeCaption("À̸§¾øÀ½");

   bModified=FALSE;

   return 0;

}

 

ÃÖÃÊ ¹®¼­¸¦ ¸¸µé ¶§´Â ¼öÁ¤µÇÁö ¾ÊÀº »óÅÂÀ̹ǷΠOnCreate¿¡¼­ FALSE·Î ÃʱâÈ­ÇÏ°í NowFileµµ "À̸§¾øÀ½"À¸·Î ÃʱâÈ­Çß´Ù. ½ÇÇàµÇÀÚ ¸¶ÀÚ Å¸ÀÌƲ ¹Ù¿¡´Â "ApiDraw - À̸§¾øÀ½"À̶ó°í Ç¥½ÃµÉ °ÍÀÌ´Ù. ¹®¼­¸¦ ÆíÁýÇÏ´Â ¸ðµç °÷¿¡¼­ bModified¸¦ TRUE·Î º¯°æÇØ¾ß Çϴµ¥ ¹®¼­°¡ Á¶±ÝÀÌ¶óµµ º¯°æµÇ´Â °÷À» ¸ðµÎ ã¾Æ bModified=TRUE¸¦ ³Ö¾î ÁØ´Ù.

 

BOOL AppendObject(DTool Type,int x1,int y1,int x2,int y2)

{

   ....

   bModified=TRUE;

   return TRUE;

}

 

void DelObject(int idx)

{

   ....

   bModified=TRUE;

}

 

void MoveObjectInArray(int src,int dest)

{

   ....

   bModified=TRUE;

}

 

LRESULT OnCommand(HWND hWnd,WPARAM wParam,LPARAM lParam)

{

   case IDM_POPUP_PROPERTY:

      if (NowSel != -1) {

          if (DialogBoxParam(g_hInst, MAKEINTRESOURCE(IDD_PROPERTY),

             hWnd,PropertyDlgProc,(LPARAM)arObj[NowSel])==IDOK) {

             InvalidateRect(hWnd,NULL,TRUE);

             bModified=TRUE;

          }

      }

   ....

 

LRESULT OnLButtonUp(HWND hWnd,WPARAM wParam,LPARAM lParam)

{

   if (DragMode==DM_MOVE || DragMode==DM_SIZE) {

      ....

      if (!IsRectEmpty(&irt)) {

         bModified=TRUE;

 

LRESULT OnKeyDown(HWND hWnd,WPARAM wParam,LPARAM lParam)

{

   ....

   if (bAction) {

      ....

      if (!IsRectEmpty(&irt)) {

         bModified=TRUE;

 

µµÇüÀ» »õ·Î »ðÀÔÇÒ ¶§¿Í »èÁ¦ÇÒ ¶§´Â ¹°·ÐÀÌ°í Á¤·Ä »óŸ¦ ¹Ù²Ù°Å³ª À̵¿, Å©±â º¯°æÇÒ ¶§µµ ¸ðµÎ ¹®¼­°¡ º¯°æµÇ´Â °ÍÀÌ´Ù. µµÇüÀÇ ¼Ó¼ºÀ» º¯°æÇÒ ¶§µµ ¸¶Âù°¡ÁöÀÌ´Ù. Äڵ带 Á» ´õ ±¸Á¶ÀûÀ¸·Î ÀÛ¼ºÇϸé bModified º¯°æ¹®À» ÇÑ °÷À¸·Î ÁýÁß½Ãų ¼öµµ ÀÖ´Ù. ÀÌÁ¦ bModified º¯¼ö°ª¸¸ »ìÆì º¸¸é ¾ðÁ¦µçÁö ÀÌ ¹®¼­°¡ ÆíÁýµÇ¾ú´ÂÁö ¾Æ´ÑÁö¸¦ ¾Ë ¼ö ÀÖ´Ù.