Метод IOleUndoUnit::D o (ocidl.h)
Указывает блоку отмены выполнить свое действие. Обратите внимание, что если он содержит дочерние единицы отмены, он также должен вызывать их методы Do.
HRESULT Do(
[in] IOleUndoManager *pUndoManager
);
[in] pUndoManager
Указатель на диспетчер отмены. См. раздел IOleUndoManager.
Этот метод возвращает значение S_OK при успешном завершении.
Подразделение отмены отвечает за выполнение своих действий. Выполнение собственного действия отмены приводит к другому действию, которое может быть отменено. Однако если pUndoManager имеет значение NULL, блок отмены должен выполнить действие отмены, но не должен пытаться поместить что-либо в стек повтора или отмены.
Если pUndoManager не имеет значение NULL, то единица требуется для того, чтобы поместить соответствующую единицу в стек повтора или отмены. В результате этот метод либо перемещается в стек повтора или отмены, либо создает новую единицу отмены и добавляет ее в соответствующий стек. После создания нового блока отмены этот блок отмены вызывает IOleUndoManager::Open или IOleUndoManager::Add. Диспетчер отмены поместит новую единицу отмены в стек отмены или повтора в зависимости от текущего состояния.
Родительская единица должна передать своим дочерним элементам тот же диспетчер отмены, возможно , null, который был предоставлен родительскому элементу. Если pUndoManager имеет значение NULL , это допустимо, чтобы открывать родительский блок в стеке повтора или отмены, если он не зафиксирован. Заблокированная родительская единица гарантирует, что дочерними единицами ничего не добавляется в стек.
Если этот блок отмены является родительским, он должен поместить себя в стек повтора или отмены перед вызовом метода Do для его дочерних элементов.
После вызова этого метода диспетчер отмены должен освободить блок отмены.
Стратегии обработки ошибок для единиц отмены см. в интерфейсе IOleUndoManager . Стратегия обработки ошибок влияет на реализацию этого метода, особенно для родительских единиц.Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ocidl.h |