共用方式為


建立主要動畫物件

若要在應用程式中使用 Windows 動畫,第一個步驟是建立一組小型的主要動畫物件。

概觀

使用 CoCreateInstance 函式來建立動畫管理員、動畫計時器和轉換程式庫物件。

建立和顯示動畫需要這些物件,因此在應用程式關閉之前通常不應該釋放它們。 如果沒有任何機會讓任何已註冊的回呼建立參考週期,釋放物件就足以進行適當的清除。 否則,應用程式可以清除回呼, (在每個) 中傳遞 Null ,或藉由呼叫動畫管理員的 Shutdown 方法來清除。

範例程式碼

下列範例程式碼取自 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 動畫概觀