Создание основных объектов анимации
Чтобы использовать анимацию Windows в приложении, сначала необходимо создать небольшой набор main объектов анимации.
Общие сведения
Используйте функцию CoCreateInstance для создания диспетчера анимации, таймера анимации и объектов библиотеки перехода.
Эти объекты потребуются для создания и отображения анимаций, поэтому их обычно не следует выпускать до завершения работы приложения. Если вероятность того, что какие-либо зарегистрированные обратные вызовы могли создать цикл ссылок, то освобождения объектов будет достаточно для правильной очистки. В противном случае приложение может выполнить очистку путем очистки обратных вызовов (передача NULL вместо каждого из них) или путем вызова метода Shutdown диспетчера анимации.
Пример кода
Следующий пример кода взят из MainWindow.cpp в примерах анимации Windows. см. метод CMainWindow::InitializeAnimation.
// Create the animation manager object
HRESULT hr = CoCreateInstance(
CLSID_UIAnimationManager,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&m_pAnimationManager)
);
if (SUCCEEDED(hr))
{
// Create the animation timer object
hr = CoCreateInstance(
CLSID_UIAnimationTimer,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&m_pAnimationTimer)
);
if (SUCCEEDED(hr))
{
// Create the transition library object
hr = CoCreateInstance(
CLSID_UIAnimationTransitionLibrary,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&m_pTransitionLibrary)
);
...
}
...
}
Обратите внимание на следующие определения из MainWindow.h.
class CMainWindow
{
...
private:
// Animation components
IUIAnimationManager *m_pAnimationManager;
IUIAnimationTimer *m_pAnimationTimer;
IUIAnimationTransitionLibrary *m_pTransitionLibrary;
...
};
Следующий шаг
После завершения этого шага необходимо выполнить следующий шаг: Создание переменных анимации.
Связанные темы