³ª.¹®¼­ ÃʱâÈ­

ÆÄÀÏ ÀúÀå ±â´ÉÀÌ ÀÛ¼ºµÇ±â Àü¿¡´Â ÇÁ·Î±×·¥°ú ¹®¼­ÀÇ »ý¸í ÁֱⰡ ÀÏÄ¡ÇÑ´Ù. ÇÁ·Î±×·¥À» Çѹø ½ÇÇàÇϸé Á¾·áÇÒ ¶§±îÁö óÀ½ ¸¸µé¾ú´ø ¹®¼­¸¸ °¡Áö°í ³î¾Æ¾ß ÇÏ´Â °ÍÀÌ´Ù. ±×·¡¼­ ¹®¼­¸¦ ÃʱâÈ­ÇÏ´Â Äڵ尡 ĵ¹ö½ºÀÇ OnCreate¿¡ ÀÖ°í ÇØÁ¦ ÄÚµå´Â ĵ¹ö½º°¡ Æı«µÉ ¶§´Â OnDestory¿¡ ÀÖ¾ú´Ù. ±×·¯³ª ÆÄÀÏ ÀÔÃâ·Â ±â´ÉÀÌ µé¾î°¡¸é ½ÇÇà Áß°£¿¡µµ ÆÄÀÏÀ» »õ·Î ¸¸µé ¼ö ÀÖ°í ¸¸µé´ø ¹®¼­¸¦ ÀúÀåÇϰųª µð½ºÅ©ÀÇ ÆÄÀÏÀ» ºÒ·¯ ¿Ã ¼öµµ ÀÖ´Ù. ±×·¡¼­ ĵ¹ö½º¸¦ ÃʱâÈ­/ÇØÁ¦ÇÏ´Â ÀÛ¾÷°ú ¹®¼­¸¦ ÃʱâÈ­/ÇØÁ¦ÇÏ´Â ÀÛ¾÷ÀÇ ½ÃÁ¡ÀÌ ºÐ¸®µÈ´Ù. ¹®¼­¿Í °ü·ÃµÈ ÃʱâÈ­¿Í ÇØÁ¦¸¸ ÇÏ´Â º°µµÀÇ ÇÔ¼ö¸¦ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ´Ù.

 

void InitDoc()

{

   arSize=100;

   arNum=0;

   arGrowBy=50;

   arObj=(DObject **)malloc(sizeof(DObject *)*arSize);

   NowSel=-1;

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

   bModified=FALSE;

}

 

void FreeDoc()

{

   int idx;

 

   for (idx=0;idx<arNum;idx++) {

      if (arObj[idx]->Type >= DT_TEXT && arObj[idx]->Type <= DT_META) {

          free(arObj[idx]->Text);

      }

      free(arObj[idx]);

   }

   free(arObj);

}

 

ĵ¹ö½º¿¡¼­ ó¸®ÇÏ´ø ¹®¼­ ÃʱâÈ­ ÀÛ¾÷Àº InitDocÀ¸·Î À̵¿µÇ´Âµ¥ ¹®¼­ÀÇ ÁÖ¿ä ÀÚ·á ±¸Á¶ÀÎ arObj¸¦ ÃʱâÈ­ÇÏ°í ¼±Åà »óÅÂ¿Í ¹®¼­ À̸§, º¯°æ ¿©ºÎ µîµµ ÃʱâÈ­µÈ´Ù. FreeDoc¿¡´Â ¹®¼­ ÆíÁý¿¡ »ç¿ëÇÏ´ø ¹è¿­À» ÇØÁ¦ÇÏ´Â Äڵ尡 ÀÛ¼ºµÇ¾î ÀÖ´Ù. ĵ¹ö½ºÀÇ OnCreate, OnDestroy¿¡¼­´Â ¹®¼­¿Í °ü·ÃµÈ ÃʱâÈ­/ÇØÁ¦ Äڵ带 »èÁ¦ÇÏ°í ´ë½Å ÀÌ ÇÔ¼öµéÀ» È£ÃâÇÑ´Ù.

 

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

{

   ....

   InitDoc();

   return 0;

}

 

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

{

   ....

   FreeDoc();

   return 0;

}

 

OnCreate, OnDestroy¿¡ ³²Àº ÄÚµå´Â ¹®¼­¿Í´Â »ó°ü¾ø´Â ĵ¹ö½º ÀÚ½ÅÀÇ ÃʱâÈ­/ÇØÁ¦ ÄÚµå »ÓÀÌ´Ù. ¿©±â±îÁö Äڵ带 ÀÛ¼ºÇÏ¸é ½ÇÇà °á°ú´Â ÀÏ´Ü µ¿ÀÏÇÏ´Ù. OnCreateÀÇ ÀϺΠÄڵ带 InitDocÀ¸·Î ³ª´©¾î ÁÖµÇ OnCreateÀÇ ³¡¿¡¼­ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϱ⠶§¹®ÀÌ´Ù. ±×·¯³ª ¹®¼­ ÃʱâÈ­ ºÎºÐ¸¸ º°µµÀÇ ÇÔ¼ö·Î ºÐ¸®ÇßÀ¸¹Ç·Î ¹®¼­¸¦ »õ·Î ¸¸µé ÇÊ¿ä°¡ ÀÖÀ» ¶§´Â InitDocÀ» È£ÃâÇÏ¸é µÈ´Ù.

¾î¶² ÇÔ¼ö°¡ ¼öÇàÇÏ´ø ÀÛ¾÷ÀÇ ÀϺκи¸ µû·Î È£ÃâÇØ¾ß ÇÒ °æ¿ì°¡ ÀÖ´Ù¸é À§ÀÇ ¿¹Ã³·³ ÇÊ¿äÇÑ ºÎºÐÀ» º°µµÀÇ ÇÔ¼ö·Î ºÐ¸®ÇÏ¸é µÈ´Ù. ¾ÖÃÊÀÇ ÇÔ¼ö´Â ºÐ¸®µÈ ÇÔ¼ö¸¦ È£ÃâÇÔÀ¸·Î½á ¿ø·¡ ÇÏ´ø ÀÏÀ» º¯ÇÔ¾øÀÌ °è¼Ó ¼öÇàÇÒ ¼ö ÀÖ°í ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ °÷¿¡¼­µµ ºÐ¸®µÈ ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¿øÇÏ´Â ÀÛ¾÷¸¸ ¼öÇàÇÒ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¥À» È®ÀåÇÏ´Â ÀÛ¾÷Àº ÀÌ·± ½ÄÀ¸·Î ÇÔ¼ö¸¦ °è¼Ó ºÐ¸®ÇØ ³ª°¡´Â °úÁ¤ÀÇ ¿¬¼ÓÀÌ´Ù.