ÆÄÀÏ ÀÔÃâ·Â µ¿ÀÛÀ» Çϱâ Àü¿¡ ÆíÁýÇÏ´ø ¹®¼ÀÇ ÀúÀå ¿©ºÎ È®ÀÎÀÌ ÇÊ¿äÇÏ´Ù. ÆÄÀÏ ¿±â³ª »õ ÆÄÀÏ ÀÛ¼º µîÀÇ ¸í·ÉÀº ÆíÁýÇϰí ÀÖ´ø ¹®¼¸¦ ¹ö¸®´Â µ¿ÀÛÀÌ ¼±ÇàµÇ¾î¾ß Çϴµ¥ ÀÌ ¹®¼¸¦ °ú¿¬ Á¤¸» ¹ö·Áµµ µÇ´ÂÁö »ç¿ëÀÚ¿¡°Ô È®ÀÎÀ» ¹ÞÀ» Çʿ䰡 ÀÖ´Ù. ´ÙÀ½ ÇÔ¼ö´Â ¹ÌÀúÀå ¹®¼¸¦ ó¸®ÇÑ´Ù.
int ConfirmSave()
{
int result=IDNO;
TCHAR Mes[MAX_PATH+64];
if (bModified) {
wsprintf(Mes,"%s ÆÄÀÏÀÌ º¯°æµÇ¾ú½À´Ï´Ù. ÀúÀåÇϽðڽÀ´Ï±î?",NowFile);
result=MessageBox(hWndMain,Mes,"¾Ë¸²",MB_YESNOCANCEL);
if (result == IDCANCEL) {
return IDCANCEL;
}
if (result == IDYES) {
if (Save() == FALSE)
return IDCANCEL;
else
return IDYES;
}
}
return result;
}
ÆíÁýÇÏ´ø ¹®¼°¡ º¯°æµÇ¾ú´Ù¸é ÆÄÀÏÀÌ º¯°æµÇ¾ú´Ù´Â »ç½ÇÀ» »ç¿ëÀÚ¿¡°Ô ¸Þ½ÃÁö ¹Ú½º·Î ¾Ë¸®°í ÀÌÈÄÀÇ µ¿ÀÛÀ» Áú¹®ÇÑ´Ù. ÀÌ Áú¹®¿¡ ´ëÇØ »ç¿ëÀÚ´Â ÀúÀå, ¹ö¸², Ãë¼Ò ¼¼ °¡Áö µ¿ÀÛÀ» °áÁ¤ÇÒ ¼ö Àִµ¥ Ãë¼ÒÇÒ °æ¿ì´Â IDCANCELÀ» ¸®ÅÏÇϱ⸸ ÇÏ¸é µÈ´Ù. ÀúÀåÇÒ °æ¿ì´Â Save ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¹ÌÀúÀå ¹®¼¸¦ ÀúÀåÇϵµ·Ï Ç쵂 ¸¸¾à ÀúÀå¿¡ ½ÇÆÐÇß´Ù¸é IDCANCELÀ» ¸®ÅÏÇÏ°í ¼º°øÇßÀ¸¸é IDYES¸¦ ¸®ÅÏÇÑ´Ù. ¹®¼°¡ ÀüÇô º¯°æµÇÁö ¾Ê¾Ò´Ù¸é IDNO¸¦ ¸®ÅÏÇÑ´Ù.
ConfirmSave¸¦ È£ÃâÇÏ´Â Ãø¿¡¼´Â ÀÌ ÇÔ¼ö°¡ IDCANCELÀ» ¸®ÅÏÇߴ°¡ ¾Æ´Ñ°¡¿¡¸¸ °ü½ÉÀ» °¡Áö¸é µÈ´Ù. ¹ÌÀúÀå ¹®¼¸¦ ¼º°øÀûÀ¸·Î ÀúÀåÇß°Ç ¾Æ´Ï¸é ¹®¼°¡ ¾Æ¿¹ º¯°æµÇÁö ¾Ê¾Ò°Ç ÀÌ µÎ »óÅ´ ConfirmSave¾È¿¡¼ ÀÌ¹Ì °áÁ¤³ °ÍÀ̹ǷΠȣÃâÃø¿¡¼´Â Ãë¼Ò¸¸ ¾Æ´Ï¶ó¸é µÎ »óŸ¦ ¶È°°ÀÌ Ãë±ÞÇÒ ¼ö ÀÖ´Ù. ´Ü, ÀúÀåÁß¿¡ ¿¡·¯·Î ÀÎÇØ ½ÇÆÐÇÑ °æ¿ì´Â »ç¿ëÀÚÀÇ Áö½Ã¸¦ ¿ÏÀüÈ÷ ¼öÇàÇÏÁö ¸øÇßÀ¸¹Ç·Î Ãë¼Ò¿Í µ¿ÀÏÇÑ »óÅ·Πº¸´Â °ÍÀÌ Å¸´çÇÏ´Ù. »õ ÆÄÀÏÀ» ÀÛ¼ºÇÏ´Â ÇÔ¼ö´Â ´ÙÀ½°ú °°´Ù.
void New()
{
if (ConfirmSave() == IDCANCEL) {
return;
}
FreeDoc();
InitDoc();
InvalidateRect(hWndMain,NULL,TRUE);
}
FreeDoc, InitDocÀ» ¼ø¼´ë·Î È£ÃâÇÏ¿© ÀÌÀü ÆíÁý ¹®¼¸¦ ÀçÃʱâÈÇϰí ȸéÀ» ´Ù½Ã ±×¸®±â¸¸ ÇÏ¸é ¹®¼¸¦ »õ·Î ¸¸µé ¼ö ÀÖ´Ù. ´Ü, ±× Àü¿¡ ÆíÁýÇÏ´ø ¹®¼°¡ ÀÖ¾ú´Ù¸é ConfirmSave¸¦ È£ÃâÇÏ¿© ÀÌ ¹®¼¸¦ ¾î¶»°Ô ó¸®ÇÒ °ÍÀÎÁö¸¦ ¸ÕÀú È®ÀÎ¹Þ¾Æ¾ß ÇÑ´Ù. ÀÌ Áú¹®¿¡ ´ëÇØ »ç¿ëÀÚ´Â ¹ÌÀúÀå ¹®¼¸¦ ÀúÀåÇϰųª ¾Æ´Ï¸é ¹ö¸± ¼ö Àִµ¥ ÀÌ µÎ °æ¿ì´Â »ç¿ëÀÚÀÇ ¼±Åÿ¡ »ó°ü¾øÀÌ »õ ÆÄÀÏ ¸¸µé±â¸¦ °è¼ÓÇÒ ¼ö ÀÖ´Ù. ¸¸¾à Ãë¼Ò¸¦ ¼±ÅÃÇß´Ù¸é À̶§´Â »õ ÆÄÀÏ µ¿ÀÛ ÀÚü¸¦ Ãë¼ÒÇØ¾ß ÇÑ´Ù.