若要在应用程序中使用Windows动画,第一步是创建一小组主动画对象。
概述
使用 CoCreateInstance 函数创建动画管理器、动画计时器和转换库对象。
创建和显示动画需要这些对象,因此在关闭应用程序之前,通常不应释放它们。 如果任何已注册的回调都不可能创建引用周期,则释放对象足以进行适当的清理。 否则,应用程序可以通过清除回调, (在每个) 或调用动画管理器的 Shutdown 方法的位置传递 NULL 来清理应用程序。
示例代码
以下示例代码取自 Windows 动画示例中的 MainWindow.cpp;请参阅 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;
    ...
};
下一步
完成此步骤后,下一步是: 创建动画变量。
相关主题