Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
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.