创建主动画对象

若要在应用程序中使用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;

    ...

};

下一步

完成此步骤后,下一步是: 创建动画变量

CoCreateInstance

IUIAnimationManager

IUIAnimationTimer

IUIAnimationTransitionLibrary

Windows动画概述