Partilhar via


CAnimationBaseObject Class

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

A classe base para todos os objetos de animação.

Sintaxe

class CAnimationBaseObject : public CObject;

Membros

Construtores Públicos

Nome Description
CAnimationBaseObject::CAnimationBaseObject Sobrecarregado. Constrói um objeto de animação.
CAnimationBaseObject::~CAnimationBaseObject O destruidor. Chamada quando um objeto de animação está a ser destruído.

Métodos Públicos

Nome Description
CAnimationBaseObject::ApplyTransitions Adiciona transições ao storyboard com variável de animação encapsulada.
CAnimationBaseObject::ClearTransitions Remove todas as transições relacionadas.
CAnimationBaseObject::ContainsVariable Determina se um objeto de animação contém uma determinada variável de animação.
CAnimationBaseObject::CreateTransitions Cria transições associadas a um objeto de animação.
CAnimationBaseObject::D etachFromController Desanexa um objeto de animação do controlador de animação principal.
CAnimationBaseObject::EnableIntegerValueChangedEvent Configura o gestor de eventos de Valor Inteiro Alterado.
CAnimationBaseObject::EnableValueChangedEvent Configura o gestor de eventos Valor Alterado.
CAnimationBaseObject::GetAutodestroyTransitions Indica automaticamente se as transições relacionadas são destruídas.
CAnimationBaseObject::GetGroupID Devolve o ID de grupo atual.
CAnimationBaseObject::GetObjectID Devolve o ID atual do Objeto.
CAnimationBaseObject::GetUserData Devolve dados definidos pelo utilizador.
CAnimationBaseObject::SetAutodestroyTransitions Define uma flag para destruir automaticamente as transições.
CAnimationBaseObject::SetID Define novos IDs.
CAnimationBaseObject::SetUserData Define dados definidos pelo utilizador.

Métodos Protegidos

Nome Description
CAnimationBaseObject::GetAnimationVariableList Recolhe ponteiros para variáveis de animação contidas.
CAnimationBaseObject::SetParentAnimationObjects Estabelece a relação entre variáveis de animação, contidas num objeto de animação, e o seu contentor.

Membros de Dados Protegidos

Nome Description
CAnimationBaseObject::m_bAutodestroyTransitions Especifica se as transições relacionadas devem ser automaticamente destruídas.
CAnimationBaseObject::m_dwUserData Armazena dados definidos pelo utilizador.
CAnimationBaseObject::m_nGroupID Especifica o ID de Grupo do objeto de animação.
CAnimationBaseObject::m_nObjectID Especifica o ID do objeto de animação.
CAnimationBaseObject::m_pParentController Um apontador para o controlador de animação principal.

Observações

Esta classe implementa métodos básicos para todos os objetos de animação. Um objeto de animação pode representar um valor, ponto, tamanho, retângulo ou cor numa aplicação, bem como qualquer entidade personalizada. Os objetos de animação são armazenados em grupos de animação (ver CAnimationGroup). Cada grupo pode ser animado separadamente e pode ser tratado como um análogo do storyboard. Um objeto de animação encapsula uma ou mais variáveis de animação (ver CAnimationVariable), dependendo da sua representação lógica. Por exemplo, o CAnimationRect contém quatro variáveis de animação – uma variável para cada lado do retângulo. Cada classe de objeto de animação expõe o método AddTransition sobrecarregado, que deve ser usado para aplicar transições a variáveis de animação encapsuladas. Um objeto de animação pode ser identificado pelo ID do Objeto (opcionalmente) e pelo ID do Grupo. Um ID de Grupo é necessário para colocar um objeto de animação para corrigir o grupo, mas se não for especificado um ID de grupo, um objeto é colocado no grupo padrão com ID 0. Se chamar SetID com um GroupID diferente, um objeto de animação será movido para outro grupo (um novo grupo é criado se necessário).

Hierarquia de herança

CObject

CAnimationBaseObject

Requerimentos

Cabeçalho: afxanimationcontroller.h

CAnimationBaseObject::~CAnimationBaseObject

O destruidor. Chamada quando um objeto de animação está a ser destruído.

virtual ~CAnimationBaseObject();

CAnimationBaseObject::ApplyTransitions

Adiciona transições ao storyboard com variável de animação encapsulada.

virtual BOOL ApplyTransitions(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

Parâmetros

pStoryboard
Um indicador para um storyboard.

bDependentOnKeyframes
Quando FALSE, este método adiciona apenas as transições que não dependem dos keyframes.

Valor de retorno

VERDADE se as transições forem adicionadas com sucesso.

Observações

Adiciona transições relacionadas, que foram adicionadas com o AddTransition (métodos sobrecarregados em classes derivadas), ao storyboard.

CAnimationBaseObject::CAnimationBaseObject

Constrói um objeto de animação.

CAnimationBaseObject();

CAnimationBaseObject(
    UINT32 nGroupID,
    UINT32 nObjectID = (UINT32)-1,
    DWORD dwUserData = 0);

Parâmetros

nGroupID
Especifica o ID do grupo.

nObjectID
Especifica o ID do Objeto.

dwUserData
Dados definidos pelo utilizador, que podem ser associados ao objeto de animação e recuperados mais tarde em tempo de execução.

Observações

Constrói um objeto de animação e atribui o ID de Objeto por defeito (0) e ID de Grupo (0).

CAnimationBaseObject::ClearTransitions

Remove todas as transições relacionadas.

virtual void ClearTransitions(BOOL bAutodestroy);

Parâmetros

bAutodestruição
Especifica se deve destruir automaticamente os objetos de transição ou simplesmente removê-los da lista relacionada.

Observações

Remove todas as transições relacionadas e destrói-as se o bAutodestroy ou m_bAutodestroyTransitions flag for VERDADEIRO. As transições devem ser destruídas automaticamente apenas se não forem alocadas na pilha. Se os flags acima forem FALSOS, as transições são simplesmente removidas da lista interna de transições relacionadas.

CAnimationBaseObject::ContainsVariable

Determina se um objeto de animação contém uma determinada variável de animação.

virtual BOOL ContainsVariable(IUIAnimationVariable* pVariable);

Parâmetros

pVariável
Um apontador para a variável de animação.

Valor de retorno

TRUE se a variável de animação estiver contida no objeto de animação; caso contrário, FALSO.

Observações

Este método pode ser usado para determinar se uma variável de animação especificada por pVariable está contida num objeto de animação. Um objeto de animação, dependendo do seu tipo, pode conter várias variáveis de animação. Por exemplo, o CAnimationColor contém três variáveis, uma para cada componente de cor (vermelho, verde e azul). Quando um valor da variável de animação mudou, a API de animação do Windows envia eventos ValueChanged ou IntegerValueChanged (se ativado), e o parâmetro deste evento é um apontador para a interface IUIAnimationVariable da variável animação. Este método ajuda a obter um ponteiro para animação a partir de um ponteiro para um objeto COM contido.

CAnimationBaseObject::CreateTransitions

Cria transições associadas a um objeto de animação.

BOOL CreateTransitions();

Valor de retorno

TRUE se as transições forem criadas com sucesso; caso contrário, FALSO.

Observações

Faz loops sobre a lista de variáveis de animação encapsuladas num objeto de animação derivado e cria transições associadas a cada variável de animação.

CAnimationBaseObject::D etachFromController

Desanexa um objeto de animação do controlador de animação principal.

void DetachFromController();

Observações

Este método é usado internamente.

CAnimationBaseObject::EnableIntegerValueChangedEvent

Configura o gestor de eventos de Valor Inteiro Alterado.

virtual void EnableIntegerValueChangedEvent(
    CAnimationController* pController,
    BOOL bEnable);

Parâmetros

pController
Um apontador para um comando parental.

bEnable
Especifica se deve ativar ou desativar o evento Valor Inteiro Alterado.

Observações

Se o gestor de eventos Integer Value Changed estiver ativado, pode tratar este evento no método CAnimationController::OnAnimationIntegerValueChanged, que deve ser sobreposto numa classe derivada do CAnimationController. Este método é chamado sempre que o valor inteiro da animação muda.

CAnimationBaseObject::EnableValueChangedEvent

Configura o gestor de eventos Valor Alterado.

virtual void EnableValueChangedEvent(
    CAnimationController* pController,
    BOOL bEnable);

Parâmetros

pController
Um apontador para um comando parental.

bEnable
Especifica se deve ativar ou desativar o evento Valor Alterado.

Observações

Se o handler de eventos Value Changed estiver ativado, pode tratar este evento no método CAnimationController::OnAnimationValueChanged, que deve ser sobreposto numa classe derivada do CAnimationController. Este método é chamado sempre que o valor da animação muda.

CAnimationBaseObject::GetAnimationVariableList

Recolhe ponteiros para variáveis de animação contidas.

virtual void GetAnimationVariableList(
    CList<CAnimationVariable*,
    CAnimationVariable*>& list) = 0;

Parâmetros

list
Uma lista que deve ser preenchida com variáveis de animação contidas num objeto de animação.

Observações

Este método puramente virtual deve ser sobreposto numa classe derivada. Um objeto de animação, dependendo do seu tipo, contém uma ou mais variáveis de animação. Por exemplo, CAnimationPoint contém duas variáveis, para coordenadas X e Y, respetivamente. A classe base CAnimationBaseObject implementa alguns métodos genéricos, que atuam numa lista de variáveis de animação: ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent. Estes métodos chamam GetAnimationVariableList, que é preenchido numa classe derivada com variáveis de animação reais contidas num determinado objeto de animação, depois fazem um loop sobre a lista e realizam as ações necessárias. Se criares um objeto de animação personalizado, tens de adicionar para listar todas as variáveis de animação contidas nesse objeto.

CAnimationBaseObject::GetAutodestroyTransitions

Indica automaticamente se as transições relacionadas são destruídas.

BOOL GetAutodestroyTransitions() const;

Valor de retorno

Se TRUE, as transições relacionadas são destruídas automaticamente; se FALSE, os objetos de transição devem ser desalocados chamando a aplicação.

Observações

Por defeito, esta bandeira é VERDADEIRA. Defina este flag apenas se tiver alocado a transição na pilha e/ou as transições devem ser desalocadas pela aplicação que chama.

CAnimationBaseObject::GetGroupID

Devolve o ID de grupo atual.

UINT32 GetGroupID() const;

Valor de retorno

ID de grupo atual.

Observações

Use este método para recuperar o ID do Grupo. É 0 se o ID do grupo não tiver sido definido explicitamente no construtor ou com o SetID.

CAnimationBaseObject::GetObjectID

Devolve o ID atual do Objeto.

UINT32 GetObjectID() const;

Valor de retorno

ID atual do objeto.

Observações

Use este método para recuperar o ID do Objeto. É 0 se o ID do objeto não tiver sido definido explicitamente no construtor ou com o SetID.

CAnimationBaseObject::GetUserData

Devolve dados definidos pelo utilizador.

DWORD GetUserData() const;

Valor de retorno

Um valor de dados personalizados.

Observações

Chame este método para recuperar os dados personalizados em tempo de execução. O valor devolvido será 0 se não foi explicitamente inicializado no construtor ou com SetUserData.

CAnimationBaseObject::m_bAutodestroyTransitions

Especifica se as transições relacionadas devem ser automaticamente destruídas.

BOOL m_bAutodestroyTransitions;

CAnimationBaseObject::m_dwUserData

Armazena dados definidos pelo utilizador.

DWORD m_dwUserData;

CAnimationBaseObject::m_nGroupID

Especifica o ID de Grupo do objeto de animação.

UINT32 m_nGroupID;

CAnimationBaseObject::m_nObjectID

Especifica o ID do objeto de animação.

UINT32 m_nObjectID;

CAnimationBaseObject::m_pParentController

Um apontador para o controlador de animação principal.

CAnimationController* m_pParentController;

CAnimationBaseObject::SetAutodestroyTransitions

Define uma flag para destruir automaticamente as transições.

void SetAutodestroyTransitions(BOOL bValue);

Parâmetros

bValor
Especifica a bandeira de autodestruição.

Observações

Defina esta flag apenas se tiver alocado objetos de transição usando o operator new. Se por algum motivo objetos de transição forem alocados na pilha, a flag de autodestruição deve ser FALSA. Por defeito, esta bandeira é VERDADEIRA.

CAnimationBaseObject::SetID

Define novos IDs.

void SetID(
    UINT32 nObjectID,
    UINT32 nGroupID = 0);

Parâmetros

nObjectID
Especifica um novo ID de Objeto.

nGroupID
Especifica um novo ID de grupo.

Observações

Permite alterar o ID do Objeto e o ID do Grupo. Se o novo ID de Grupo for diferente do ID atual, um objeto de animação é movido para outro grupo (um novo grupo será criado, se necessário).

CAnimationBaseObject::SetParentAnimationObjects

Estabelece a relação entre variáveis de animação, contidas num objeto de animação, e o seu contentor.

virtual void SetParentAnimationObjects();

Observações

Este assistente pode ser usado para estabelecer uma relação entre variáveis de animação contidas num objeto de animação e o seu recipiente. Ele faz um loop sobre variáveis de animação e define um ponteiro de retroceso para um objeto de animação pai para cada variável de animação. Na implementação atual, a relação real é estabelecida em CAnimationBaseObject::ApplyTransitions, por isso os backpointers não são definidos até chamares CAnimationGroup::Animate. Conhecer a relação pode ser útil quando processar eventos e precisar de obter um objeto de animação pai do CAnimationVariable. Use CAnimationVariable::GetParentAnimationObject.

CAnimationBaseObject::SetUserData

Define dados definidos pelo utilizador.

void SetUserData (DWORD dwUserData);

Parâmetros

dwUserData
Especifica os dados personalizados.

Observações

Use este método para associar um dado personalizado a um objeto de animação. Estes dados podem ser recuperados posteriormente em tempo de execução pelo GetUserData.

Consulte também

Classes