³ª. Àç½ÇÇà

Àç½ÇÇàÇÏ´Â Redo ÇÔ¼öµµ Undo ÇÔ¼ö¿Í À¯»çÇÏ´Ù. Undo ÇÔ¼ö´Â Ãë¼Ò ·¹ÄÚµåÀÇ ±â·ÏÀ» ¹Ý´ë·Î ½ÇÇàÇϴµ¥ ºñÇØ Redo ÇÔ¼ö´Â ±â·ÏµÈ ³»¿ë´ë·Î ±×´ë·Î ½ÇÇàÇϱ⸸ ÇÏ¸é µÈ´Ù. ±×·¯´Ï ÄÚµå´Â µû·Î ¼³¸íÀÌ ÇÊ¿ä¾øÀ» Á¤µµ·Î ´Ü¼øÇÏ´Ù.

 

void CApiEdit::Redo()

{

     int from, to, len;

 

     SelStart=SelEnd=0;

 

     switch (pUR[nowur].action) {

     case UR_INSERT:

          Insert(pUR[nowur].pos,pUR[nowur].data,FALSE);

          off=pUR[nowur].pos+lstrlen(pUR[nowur].data);

          SetCaret();

          Invalidate(-1);

          break;

     case UR_DELETE:

          Delete(pUR[nowur].pos,lstrlen(pUR[nowur].data),FALSE);

          off=pUR[nowur].pos;

          SetCaret();

          Invalidate(-1);

          break;

     case UR_MOVE:

          from=pUR[nowur].pos;

          to=pUR[nowur].dest[0];

          len=pUR[nowur].dest[1];

          CopyString(FALSE,from,to,len,FALSE);

 

          off=to+len;

          SetCaret();

          Invalidate(-1);

          break;

     }

 

     pUR[nowur].status=UR_MAKING;

     NextRecord();

}

 

Àç½ÇÇàÇÑ ÈÄ status¸¦ UR_MAKINGÀ¸·Î ¸¸µé¾î Ãë¼ÒµÈ ·¹Äڵ尡 ¾Æ´ÔÀ» Ç¥½ÃÇسõ¾Æ¾ß ÇÏ¸ç ´ÙÀ½ ·¹ÄÚµå·Î À̵¿ÇÏ¿© ´ÙÀ½ ¹ø Àç½ÇÇà ¶Ç´Â ÀÛ¼ºÇÒ ¶§¸¦ ´ëºñÇÑ´Ù.