Partilhar via


Criar os principais objetos de animação

Para usar a Animação do Windows em seu aplicativo, a primeira etapa é criar um pequeno conjunto de objetos de animação principais.

Visão geral

Use a funçãoCoCreateInstance para criar o gerenciador de animação, o temporizador de animação e os objetos da biblioteca de transição.

Esses objetos serão necessários para criar e exibir animações, portanto, geralmente não devem ser liberados até que o aplicativo seja desligado. Se não houver nenhuma chance de que qualquer callback registrado possa ter criado um ciclo de referência, liberar os objetos é suficiente para uma limpeza correta. Caso contrário, o aplicativo pode limpar limpando os retornos de chamada (passando NULL no lugar de cada um) ou chamando o métodoShutdown do gerenciador de animação.

Código de exemplo

O código de exemplo a seguir é retirado de MainWindow.cpp nos exemplos de animação do Windows; consulte o método 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)
            );

        ...

    }

    ...

}

Observe as seguintes definições de MainWindow.h.

class CMainWindow
{

    ...

private:

    // Animation components

    IUIAnimationManager *m_pAnimationManager;
    IUIAnimationTimer *m_pAnimationTimer;
    IUIAnimationTransitionLibrary *m_pTransitionLibrary;

    ...

};

Próximo Passo

Depois de concluir esta etapa, a próxima etapa é: Criar variáveis de animação.

CoCreateInstance

IUIAnimationManager

IUIAnimationTimer

IUIAnimationTransitionLibrary

Visão geral da animação do Windows