我尝试使用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 ());
}
我存储所有已删除的意味着将撤消内容放入一个数组中。现在我需要将其调用到我的重做()中。我该怎么办?
答案 0 :(得分:1)
从这个小片段中,您似乎删除了最后添加的'fig'。这听起来更像是“撤消”行为。
我怀疑您希望添加最后'fig'已经'撤消',并将其存储在'撤消'方法中。
您的命令启用程序只需在“重做”时启用“重做”功能,而不是在文档中有“无花果”的情况下启用“重做”功能。