Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Реализует группу анимации, которая объединяет раскадровку анимации, объекты анимации и переходы для определения анимации.
Синтаксис
class CAnimationGroup;
Участники
Открытые конструкторы
| Имя | Описание |
|---|---|
| CAnimationGroup::CAnimationGroup | Создает группу анимации. |
| CAnimationGroup::~CAnimationGroup | Деструктор Вызывается при уничтожении группы анимации. |
Открытые методы
| Имя | Описание |
|---|---|
| CAnimationGroup::Animate | Анимирует группу. |
| CAnimationGroup::ApplyTransitions | Применяет переходы к объектам анимации. |
| CAnimationGroup::FindAnimationObject | Находит объект анимации, содержащий указанную переменную анимации. |
| CAnimationGroup::GetGroupID | Возвращает groupID. |
| CAnimationGroup::RemoveKeyframes | Удаляет и при необходимости уничтожает все ключевые кадры, принадлежащие группе анимации. |
| CAnimationGroup::RemoveTransitions | Удаляет переходы из объектов анимации, принадлежащих группе анимации. |
| CAnimationGroup::Schedule | Планирует анимацию в указанное время. |
| CAnimationGroup::SetAutodetransitions | Направляет все объекты анимации, принадлежащие группе, автоматически уничтожают переходы. |
Защищенные методы
| Имя | Описание |
|---|---|
| CAnimationGroup::AddKeyframes | Вспомогательный элемент, который добавляет ключевые кадры в раскадровку. |
| CAnimationGroup::AddTransitions | Вспомогательный элемент, добавляющий переходы в раскадровку. |
| CAnimationGroup::CreateTransitions | Вспомогательный элемент, создающий объекты перехода COM. |
Открытые члены данных
| Имя | Описание |
|---|---|
| CAnimationGroup::m_bAutoclearTransitions | Указывает, как очистить переходы из объектов анимации, принадлежащих группе. Если этот элемент имеет значение TRUE, переходы удаляются автоматически при планировании анимации. В противном случае необходимо вручную удалить переходы. |
| CAnimationGroup::m_bAutodestroyAnimationObjects | Указывает, как уничтожить объекты анимации. Если этот параметр имеет значение TRUE, объекты анимации будут автоматически уничтожены при уничтожении группы. В противном случае объекты анимации должны быть уничтожены вручную. Значение по умолчанию — FALSE. Присвойте этому значению значение TRUE, только если все объекты анимации, принадлежащие группе, динамически выделяются с новым оператором. |
| CAnimationGroup::m_bAutodestroyKeyframes | Указывает, как уничтожить ключевые кадры. Если это значение равно TRUE, все ключевые кадры удаляются и уничтожаются; в противном случае они удаляются только из списка. Значение по умолчанию — TRUE. |
| CAnimationGroup::m_lstAnimationObjects | Содержит список объектов анимации. |
| CAnimationGroup::m_lstKeyFrames | Содержит список ключевых кадров. |
| CAnimationGroup::m_pStoryboard | Указывает на раскадровку анимации. Этот указатель действителен только после вызова Animate. |
Защищенные члены данных
| Имя | Описание |
|---|---|
| CAnimationGroup::m_nGroupID | Уникальный идентификатор группы анимации. |
| CAnimationGroup::m_pParentController | Указатель на контроллер анимации, к которому принадлежит эта группа. |
Замечания
Группы анимации создаются автоматически контроллером анимации (CAnimationController) при добавлении объектов анимации с помощью CAnimationController::AddAnimationObject. Группа анимации определяется groupID, которая обычно принимается в качестве параметра для управления группами анимации. GroupID берется из первого объекта анимации, добавляемого в новую группу анимации. После вызова CAnimationController::AnimationController::AnimateGroup создается инкапсулированный раскадровки анимации, к ним можно обращаться через общедоступный m_pStoryboard.
Иерархия наследования
CAnimationGroup
Требования
Заголовок: afxanimationcontroller.h
CAnimationGroup::~CAnimationGroup
Деструктор Вызывается при уничтожении группы анимации.
~CAnimationGroup();
CAnimationGroup::AddKeyframes
Вспомогательный элемент, который добавляет ключевые кадры в раскадровку.
void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);
Параметры
pStoryboard
Указатель на com-объект раскадровки.
bAddDeep
Указывает, должен ли этот метод добавлять в кадры ключей раскадровки, зависящие от других ключевых кадров.
CAnimationGroup::AddTransitions
Вспомогательный элемент, добавляющий переходы в раскадровку.
void AddTransitions(
IUIAnimationStoryboard* pStoryboard,
BOOL bDependOnKeyframes);
Параметры
pStoryboard
Указатель на com-объект раскадровки.
bDependOnKeyframes
CAnimationGroup::Animate
Анимирует группу.
BOOL Animate(
IUIAnimationManager* pManager,
IUIAnimationTimer* pTimer,
BOOL bScheduleNow);
Параметры
pManager
pTimerbScheduleNow
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если метод успешно выполнен; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
Этот метод создает внутреннюю раскадровку, создает и применяет переходы и планирует анимацию, если bScheduleNow имеет значение TRUE. Если bScheduleNow имеет значение FALSE, необходимо вызвать расписание запуска анимации в указанное время.
CAnimationGroup::ApplyTransitions
Применяет переходы к объектам анимации.
void ApplyTransitions();
Замечания
Этот метод ASSERTS в режиме отладки, если раскадровка не создана. Сначала он создает все переходы, а затем добавляет "статические" ключевые кадры (ключевые кадры, зависящие от смещения), добавляет переходы, не зависящие от ключевых кадров, добавляет ключевые кадры в зависимости от переходов и других ключевых кадров, а затем добавляет переходы, зависящие от ключевых кадров.
CAnimationGroup::CAnimationGroup
Создает группу анимации.
CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);
Параметры
pParentController
Указатель на контроллер анимации, создающий группу.
nGroupID
Указывает GroupID.
CAnimationGroup::CreateTransitions
Вспомогательный элемент, создающий объекты перехода COM.
BOOL CreateTransitions();
Возвращаемое значение
Значение TRUE — это метод успешно, в противном случае — ЗНАЧЕНИЕ FALSE.
CAnimationGroup::FindAnimationObject
Находит объект анимации, содержащий указанную переменную анимации.
CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);
Параметры
pVariable
Указатель на переменную анимации.
Возвращаемое значение
Указатель на объект анимации или ЗНАЧЕНИЕ NULL, если объект анимации не найден.
CAnimationGroup::GetGroupID
Возвращает groupID.
UINT32 GetGroupID() const;
Возвращаемое значение
Идентификатор группы.
CAnimationGroup::m_bAutoclearTransitions
Указывает, как очистить переходы из объектов анимации, принадлежащих группе. Если этот элемент имеет значение TRUE, переходы удаляются автоматически при планировании анимации. В противном случае необходимо вручную удалить переходы.
BOOL m_bAutoclearTransitions;
CAnimationGroup::m_bAutodestroyAnimationObjects
Указывает, как уничтожить объекты анимации. Если этот параметр имеет значение TRUE, объекты анимации будут автоматически уничтожены при уничтожении группы. В противном случае объекты анимации должны быть уничтожены вручную. Значение по умолчанию — FALSE. Присвойте этому значению значение TRUE, только если все объекты анимации, принадлежащие группе, динамически выделяются с новым оператором.
BOOL m_bAutodestroyAnimationObjects;
CAnimationGroup::m_bAutodestroyKeyframes
Указывает, как уничтожить ключевые кадры. Если это значение равно TRUE, все ключевые кадры удаляются и уничтожаются; в противном случае они удаляются только из списка. Значение по умолчанию — TRUE.
BOOL m_bAutodestroyKeyframes;
CAnimationGroup::m_lstAnimationObjects
Содержит список объектов анимации.
CObList m_lstAnimationObjects;
CAnimationGroup::m_lstKeyFrames
Содержит список ключевых кадров.
CObList m_lstKeyFrames;
CAnimationGroup::m_nGroupID
Уникальный идентификатор группы анимации.
UINT32 m_nGroupID;
CAnimationGroup::m_pParentController
Указатель на контроллер анимации, к которому принадлежит эта группа.
CAnimationController* m_pParentController;
CAnimationGroup::m_pStoryboard
Указывает на раскадровку анимации. Этот указатель действителен только после вызова Animate.
ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;
CAnimationGroup::RemoveKeyframes
Удаляет и при необходимости уничтожает все ключевые кадры, принадлежащие группе анимации.
void RemoveKeyframes();
Замечания
Если элемент m_bAutodestroyKeyframes имеет значение TRUE, то ключевые кадры удаляются и уничтожаются, в противном случае ключевые кадры просто удаляются из внутреннего списка ключевых кадров.
CAnimationGroup::RemoveTransitions
Удаляет переходы из объектов анимации, принадлежащих группе анимации.
void RemoveTransitions();
Замечания
Если флаг m_bAutoclearTransitions имеет значение TRUE, этот метод циклирует все объекты анимации, принадлежащие группе, и вызывает CAnimationObject::ClearTransitions(FALSE).
CAnimationGroup::Schedule
Планирует анимацию в указанное время.
BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);
Параметры
pTimer
Указатель на таймер анимации.
time
Указывает время для планирования анимации.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если метод успешно выполнен; ЗНАЧЕНИЕ FALSE, если метод завершается ошибкой или если Animate не был вызван с параметром bScheduleNow, равным FALSE.
Замечания
Вызовите эту функцию, чтобы запланировать анимацию в указанное время. Сначала необходимо вызвать Animate с параметром bScheduleNow, равным FALSE.
CAnimationGroup::SetAutodetransitions
Направляет все объекты анимации, принадлежащие группе, автоматически уничтожают переходы.
void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);
Параметры
bAutoDesk
Указывает, как уничтожить переходы.
Замечания
Задайте для этого значения значение FALSE, только если вы выделяете переходы в стеке. Значение по умолчанию — TRUE, поэтому настоятельно рекомендуется выделить объекты перехода с помощью оператора new.