MFC重做功能

时间:2010-07-14 10:06:18

标签: visual-c++ mfc

我尝试使用Redo选项,我为Redo编写了以下代码,但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 ());   

}

我存储所有已删除的意味着将撤消内容放入一个数组中。现在我需要将其调用到我的重做()中。我该怎么办?

1 个答案:

答案 0 :(得分:1)

从这个小片段中,您似乎删除了最后添加的'fig'。这听起来更像是“撤消”行为。

我怀疑您希望添加最后'fig'已经'撤消',并将其存储在'撤消'方法中。

您的命令启用程序只需在“重做”时启用“重做”功能,而不是在文档中有“无花果”的情况下启用“重做”功能。