本文整理汇总了C++中CanUndo函数的典型用法代码示例。如果您正苦于以下问题:C++ CanUndo函数的具体用法?C++ CanUndo怎么用?C++ CanUndo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了CanUndo函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: VERIFY
void CPropTreeItemFileEdit::OnContextMenu(CWnd *pWnd, CPoint point)
{
CMenu FloatingMenu;
VERIFY(FloatingMenu.LoadMenu(IDR_ME_EDIT_MENU));
CMenu *pPopupMenu = FloatingMenu.GetSubMenu(0);
if (CanUndo()) {
pPopupMenu->EnableMenuItem(ID_EDIT_UNDO, MF_BYCOMMAND | MF_ENABLED);
} else {
pPopupMenu->EnableMenuItem(ID_EDIT_UNDO, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
}
DWORD dwSel = GetSel();
if (HIWORD(dwSel) != LOWORD(dwSel)) {
pPopupMenu->EnableMenuItem(ID_EDIT_CUT, MF_BYCOMMAND | MF_ENABLED);
pPopupMenu->EnableMenuItem(ID_EDIT_COPY, MF_BYCOMMAND | MF_ENABLED);
pPopupMenu->EnableMenuItem(ID_EDIT_DELETE, MF_BYCOMMAND | MF_ENABLED);
} else {
pPopupMenu->EnableMenuItem(ID_EDIT_CUT, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
pPopupMenu->EnableMenuItem(ID_EDIT_COPY, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
pPopupMenu->EnableMenuItem(ID_EDIT_DELETE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
}
pPopupMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);
}
示例2: Undo
// Undo the last command
void PaintModel::Undo() {
if (CanUndo()) {
mRedoStack.push(mUndoStack.top());
mUndoStack.top()->Undo(shared_from_this());
mUndoStack.pop();
}
}
示例3: BBAssertDebug
void BatchCommand::Undo()
{
BBAssertDebug(CanUndo());
for (RestorableCommandCollection::reverse_iterator it = restorableCommands.rbegin(); it != restorableCommands.rend(); ++it)
(*it)->Undo();
}
示例4: Undo
void wxTextCtrl::Undo()
{
if (CanUndo())
{
::SendMessage(GetBuddyHwnd(), EM_UNDO, 0, 0);
}
}
示例5: switch
void CColorEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
switch (nChar)
{
case 0x01:// Ctrl-A => handle SELECT_ALL
SetSel(0, -1);
return;
case 0x03:// Ctrl-C => handle WM_COPY
Copy();
return;
case 0x16:// Ctrl-V => handle WM_PASTE
Paste();
return;
case 0x18:// Ctrl-X => handle WM_CUT
Cut();
return;
case 0x1A:// Ctrl-Z => handle ID_EDIT_UNDO (EM_UNDO)
if(CanUndo())
Undo();
return;
}
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
示例6: wxCHECK_RET
void wxTextEntry::Undo()
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
if (CanUndo())
GetTextPeer()->Undo() ;
}
示例7: CheckState
bool UTransBuffer::Undo()
{
CheckState();
if (!CanUndo())
{
UndoDelegate.Broadcast(FUndoSessionContext(), false);
return false;
}
// Apply the undo changes.
GIsTransacting = true;
{
FTransaction& Transaction = UndoBuffer[ UndoBuffer.Num() - ++UndoCount ];
UE_LOG(LogEditorTransaction, Log, TEXT("Undo %s"), *Transaction.GetTitle().ToString() );
BeforeRedoUndoDelegate.Broadcast(Transaction.GetContext());
Transaction.Apply();
UndoDelegate.Broadcast(Transaction.GetContext(), true);
}
GIsTransacting = false;
CheckState();
return true;
}
示例8: Undo
void CHistory::Undo()
{
if (CanUndo())
{
m_commands[m_nextCommandIndex - 1]->Unexecute(); // может выбросить исключение
--m_nextCommandIndex;
}
}
示例9:
BString
UndoContext::UndoLabel() const
{
if (CanUndo())
return ((Action*)fHistory->ItemAt(fAt - 1))->Label();
else
return "";
}
示例10: Undo
void wxTextCtrl::Undo()
{
if (CanUndo())
{
if (m_bIsMLE)
::WinSendMsg(GetHwnd(), MLM_UNDO, 0, 0);
// Simple entryfields cannot be undone
}
} // end of wxTextCtrl::Undo
示例11: InternalRollBack
bool History::InternalRollBack(void)
{
if(!CanUndo())return false;
Undoable *u;
m_curpos--;
u = *m_curpos;
u->RollBack();
return true;
}
示例12: Undo
void wxComboBox::Undo()
{
if (CanUndo())
{
HWND hEditWnd = (HWND) GetEditHWND() ;
if ( hEditWnd )
::SendMessage(hEditWnd, EM_UNDO, 0, 0);
}
}
示例13: Redo
void wxComboBox::Redo()
{
if (CanUndo())
{
// Same as Undo, since Undo undoes the undo, i.e. a redo.
HWND hEditWnd = (HWND) GetEditHWND() ;
if ( hEditWnd )
::SendMessage(hEditWnd, EM_UNDO, 0, 0);
}
}
示例14: Assert
void SnapshotManager::Undo()
{
Assert(CanUndo());
if (m_snapshots.size() > 1)
{
m_snapshots.pop_back();
}
SetStateToSnapshot(*(m_snapshots.rbegin()));
}
示例15:
bool cActionManager::Undo()
{
if (CanUndo())
{
cAction* action = mUndoList.front();
RemoveTopAction(UNDO);
action->Accept(cUndoActionVisitor::Global());
AddAction(REDO, action);
return true;
}
return false;
}