Функция MFC Redo - PullRequest
       1

Функция MFC Redo

0 голосов
/ 14 июля 2010

Я пытаюсь с опцией Redo, я написал следующий код для Redo, но insted из Redo Undo работает для того же. Пожалуйста, ведите меня туда, где я ошибся. Мой пример кода .....

void EIWBDoc::OnEditRedo() //for REDO.
{
 // TODO: Add your command handler code here
   int Index = m_FigArray.GetUpperBound ();
   if (Index > -1) 
   {
      delete m_FigArray.GetAt(Index); 
      m_FigArray.RemoveAt (Index); 
   }
   UpdateAllViews (0);
   SetModifiedFlag ();
}

void EIWBDoc::OnUpdateEditRedo(CCmdUI* pCmdUI) //for redo.
{
   // TODO: Add your command update UI handler code here
   pCmdUI->Enable (m_FigArray.GetSize ());   

}

Я храню все удаленные средства отмены содержимого в одном массиве. Теперь мне нужно вызвать то же самое в мой Redo (). Как мне быть?

1 Ответ

1 голос
/ 14 июля 2010

Из этого небольшого фрагмента похоже, что вы удаляете последнюю добавленную фигуру. Это больше похоже на «отмену» поведения.

Я подозреваю, что вы хотите добавить последний 'рис', который был 'отменен', сохранив его в вашем методе 'отменить'.

Ваша команда enabler должна будет включать функцию «Повторить» только тогда, когда есть что-то, что нужно «переделать», а не когда в вашем документе есть «фиг».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...