Share via


Klasse CAnimationBaseObject

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

De basisklasse voor alle animatieobjecten.

Syntaxis

class CAnimationBaseObject : public CObject;

Leden

Openbare constructors

Naam Description
CAnimationBaseObject::CAnimationBaseObject Overbelast. Maakt een animatieobject.
CAnimationBaseObject::~CAnimationBaseObject De destructor. Wordt aangeroepen wanneer een animatieobject wordt vernietigd.

Openbare methoden

Naam Description
CAnimationBaseObject::ApplyTransitions Hiermee worden overgangen toegevoegd aan storyboard met ingekapselde animatievariabele.
CAnimationBaseObject::ClearTransitions Hiermee verwijdert u alle gerelateerde overgangen.
CAnimationBaseObject::ContainsVariable Bepaalt of een animatieobject een bepaalde animatievariabele bevat.
CAnimationBaseObject::CreateTransitions Hiermee maakt u overgangen die zijn gekoppeld aan een animatieobject.
CAnimationBaseObject::D etachFromController Een animatieobject loskoppelen van de bovenliggende animatiecontroller.
CAnimationBaseObject::EnableIntegerValueChangedEvent Hiermee stelt u de gebeurtenis-handler Integer Value Changed in.
CAnimationBaseObject::EnableValueChangedEvent Hiermee stelt u de gebeurtenis-handler Waarde gewijzigd in.
CAnimationBaseObject::GetAutodestroyTransitions Hiermee wordt aangegeven of gerelateerde overgang automatisch wordt vernietigd.
CAnimationBaseObject::GetGroupID Retourneert de huidige groeps-id.
CAnimationBaseObject::GetObjectID Retourneert de huidige object-id.
CAnimationBaseObject::GetUserData Retourneert door de gebruiker gedefinieerde gegevens.
CAnimationBaseObject::SetAutodestroyTransitions Hiermee stelt u een vlag in om overgangen automatisch te vernietigen.
CAnimationBaseObject::SetID Hiermee stelt u nieuwe id's in.
CAnimationBaseObject::SetUserData Hiermee stelt u door de gebruiker gedefinieerde gegevens in.

Beveiligde methoden

Naam Description
CAnimationBaseObject::GetAnimationVariableList Hiermee worden aanwijzers verzameld naar ingesloten animatievariabelen.
CAnimationBaseObject::SetParentAnimationObjects Hiermee wordt een relatie tot stand brengt tussen animatievariabelen, opgenomen in een animatieobject en de bijbehorende container.

Beveiligde gegevensleden

Naam Description
CAnimationBaseObject::m_bAutodestroyTransitions Hiermee geeft u op of gerelateerde overgangen automatisch moeten worden vernietigd.
CAnimationBaseObject::m_dwUserData Slaat door de gebruiker gedefinieerde gegevens op.
CAnimationBaseObject::m_nGroupID Hiermee geeft u de groeps-id van het animatieobject.
CAnimationBaseObject::m_nObjectID Hiermee geeft u de object-id van het animatieobject.
CAnimationBaseObject::m_pParentController Een aanwijzer naar de bovenliggende animatiecontroller.

Opmerkingen

Deze klasse implementeert basismethoden voor alle animatieobjecten. Een animatieobject kan een waarde, punt, grootte, rechthoek of kleur in een toepassing vertegenwoordigen, evenals elke aangepaste entiteit. Animatieobjecten worden opgeslagen in animatiegroepen (zie CAnimationGroup). Elke groep kan afzonderlijk worden geanimeerd en kan worden behandeld als een analogie van storyboard. Een animatieobject bevat een of meer animatievariabelen (zie CAnimationVariable), afhankelijk van de logische weergave. CAnimationRect bevat bijvoorbeeld vier animatievariabelen: één variabele voor elke zijde van de rechthoek. Elke animatieobjectklasse toont overbelaste AddTransition-methode, die moet worden gebruikt om overgangen toe te passen op ingekapselde animatievariabelen. Een animatieobject kan worden geïdentificeerd op object-id (optioneel) en op groeps-id. Een groeps-id is nodig om een animatieobject te plaatsen in de juiste groep, maar als er geen groeps-id is opgegeven, wordt een object in de standaardgroep met id 0 geplaatst. Als u SetID aanroept met een andere GroupID, wordt een animatieobject verplaatst naar een andere groep (indien nodig wordt er een nieuwe groep gemaakt).

Overnamehiërarchie

CObject

CAnimationBaseObject

Requirements

Header: afxanimationcontroller.h

CAnimationBaseObject::~CAnimationBaseObject

De destructor. Wordt aangeroepen wanneer een animatieobject wordt vernietigd.

virtual ~CAnimationBaseObject();

CAnimationBaseObject::ApplyTransitions

Hiermee worden overgangen toegevoegd aan storyboard met ingekapselde animatievariabele.

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

Parameterwaarden

pStoryboard
Een aanwijzer naar een storyboard.

bDependOnKeyframes
Als ONWAAR is, worden met deze methode alleen de overgangen toegevoegd die niet afhankelijk zijn van sleutelframes.

Retourwaarde

WAAR als overgangen zijn toegevoegd.

Opmerkingen

Hiermee worden gerelateerde overgangen, die zijn toegevoegd met AddTransition (overbelaste methoden in afgeleide klassen), toegevoegd aan storyboard.

CAnimationBaseObject::CAnimationBaseObject

Maakt een animatieobject.

CAnimationBaseObject();

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

Parameterwaarden

nGroupID
Hiermee geeft u groeps-id.

nObjectID
Hiermee geeft u object-id.

dwUserData
Door de gebruiker gedefinieerde gegevens, die kunnen worden gekoppeld aan animatieobject en later tijdens runtime kunnen worden opgehaald.

Opmerkingen

Hiermee maakt u een animatieobject en wijst u standaardobject-id (0) en groeps-id (0) toe.

CAnimationBaseObject::ClearTransitions

Hiermee verwijdert u alle gerelateerde overgangen.

virtual void ClearTransitions(BOOL bAutodestroy);

Parameterwaarden

bAutodestroy
Hiermee geeft u op of overgangsobjecten automatisch moeten worden vernietigd of alleen uit de gerelateerde lijst moeten worden verwijderd.

Opmerkingen

Verwijdert alle gerelateerde overgangen en vernietigt ze als bAutodestroy of m_bAutodestroyTransitions vlag WAAR is. Overgangen moeten alleen automatisch worden vernietigd als ze niet op de stapel worden toegewezen. Als de bovenstaande vlaggen ONWAAR zijn, worden overgangen zojuist verwijderd uit de interne lijst met gerelateerde overgangen.

CAnimationBaseObject::ContainsVariable

Bepaalt of een animatieobject een bepaalde animatievariabele bevat.

virtual BOOL ContainsVariable(IUIAnimationVariable* pVariable);

Parameterwaarden

pVariable
Een aanwijzer naar animatievariabele.

Retourwaarde

WAAR als de animatievariabele is opgenomen in het animatieobject; anders ONWAAR.

Opmerkingen

Deze methode kan worden gebruikt om te bepalen of een animatievariabele die is opgegeven door pVariable zich in een animatieobject bevindt. Een animatieobject kan, afhankelijk van het type, verschillende animatievariabelen bevatten. CAnimationColor bevat bijvoorbeeld drie variabelen, één voor elk kleuronderdeel (rood, groen en blauw). Wanneer een waarde van de animatievariabele is gewijzigd, verzendt de Windows Animation-API ValueChanged- of IntegerValueChanged-gebeurtenissen (indien ingeschakeld) en is de parameter van deze gebeurtenis een verwijzing naar interface-IUIAnimationVariable van de animatievariabele. Deze methode helpt bij het verkrijgen van een aanwijzer naar animatie van een aanwijzer naar een ingesloten COM-object.

CAnimationBaseObject::CreateTransitions

Hiermee maakt u overgangen die zijn gekoppeld aan een animatieobject.

BOOL CreateTransitions();

Retourwaarde

WAAR als overgangen zijn gemaakt; anders ONWAAR.

Opmerkingen

Lussen over een lijst met animatievariabelen die zijn ingekapseld in een afgeleid animatieobject en maakt overgangen die zijn gekoppeld aan elke animatievariabele.

CAnimationBaseObject::D etachFromController

Een animatieobject loskoppelen van de bovenliggende animatiecontroller.

void DetachFromController();

Opmerkingen

Deze methode wordt intern gebruikt.

CAnimationBaseObject::EnableIntegerValueChangedEvent

Hiermee stelt u de gebeurtenis-handler Integer Value Changed in.

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

Parameterwaarden

pController
Een aanwijzer naar een bovenliggende controller.

bEnable
Hiermee geeft u op of de gebeurtenis Integerwaarde gewijzigd moet worden of uitgeschakeld.

Opmerkingen

Als de gebeurtenis-handler Integer Value Changed is ingeschakeld, kunt u deze gebeurtenis afhandelen in de CAnimationController::OnAnimationIntegerValueChanged-methode, die moet worden overschreven in een CAnimationController-afgeleide klasse. Deze methode wordt aangeroepen telkens wanneer de waarde van het animatie-geheel getal is gewijzigd.

CAnimationBaseObject::EnableValueChangedEvent

Hiermee stelt u de gebeurtenis-handler Waarde gewijzigd in.

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

Parameterwaarden

pController
Een aanwijzer naar een bovenliggende controller.

bEnable
Hiermee geeft u op of de gebeurtenis Waarde gewijzigd moet worden in- of uitgeschakeld.

Opmerkingen

Als de gebeurtenis-handler Waarde gewijzigd is ingeschakeld, kunt u deze gebeurtenis afhandelen in de CAnimationController::OnAnimationValueChanged-methode, die moet worden overschreven in een CAnimationController-afgeleide klasse. Deze methode wordt aangeroepen telkens wanneer de animatiewaarde is gewijzigd.

CAnimationBaseObject::GetAnimationVariableList

Hiermee worden aanwijzers verzameld naar ingesloten animatievariabelen.

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

Parameterwaarden

list
Een lijst die moet worden gevuld met animatievariabelen in een animatieobject.

Opmerkingen

Deze pure virtuele methode moet worden overschreven in een afgeleide klasse. Een animatieobject, afhankelijk van het type, bevat een of meer animatievariabelen. CAnimationPoint bevat bijvoorbeeld twee variabelen voor respectievelijk X- en Y-coördinaten. Met de basisklasse CAnimationBaseObject worden enkele algemene methoden geïmplementeerd, die reageren op een lijst met animatievariabelen: ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent. Deze methoden roepen GetAnimationVariableList aan, die is ingevuld in een afgeleide klasse met werkelijke animatievariabelen in een bepaald animatieobject, waarna de lijst wordt doorlopen en de benodigde acties worden uitgevoerd. Als u een aangepast animatieobject maakt, moet u toevoegen om alle animatievariabelen in dat object weer te geven.

CAnimationBaseObject::GetAutodestroyTransitions

Hiermee wordt aangegeven of gerelateerde overgang automatisch wordt vernietigd.

BOOL GetAutodestroyTransitions() const;

Retourwaarde

Indien WAAR, worden gerelateerde overgangen automatisch vernietigd; als ONWAAR, moet de toewijzing van overgangsobjecten ongedaan worden gemaakt door de toepassing aan te roepen.

Opmerkingen

Deze vlag is standaard TRUE. Stel deze vlag alleen in als u de toewijzing van de overgang op de stack en/of overgangen ongedaan hebt gemaakt door de aanroepende toepassing.

CAnimationBaseObject::GetGroupID

Retourneert de huidige groeps-id.

UINT32 GetGroupID() const;

Retourwaarde

Huidige groeps-id.

Opmerkingen

Gebruik deze methode om groeps-id op te halen. Het is 0 als groeps-id niet expliciet is ingesteld in constructor of met SetID.

CAnimationBaseObject::GetObjectID

Retourneert de huidige object-id.

UINT32 GetObjectID() const;

Retourwaarde

Huidige object-id.

Opmerkingen

Gebruik deze methode om object-id op te halen. Het is 0 als object-id niet expliciet is ingesteld in constructor of met SetID.

CAnimationBaseObject::GetUserData

Retourneert door de gebruiker gedefinieerde gegevens.

DWORD GetUserData() const;

Retourwaarde

Een waarde van aangepaste gegevens.

Opmerkingen

Roep deze methode aan om de aangepaste gegevens op te halen tijdens runtime. De geretourneerde waarde is 0 als deze niet expliciet is geïnitialiseerd in constructor of met SetUserData.

CAnimationBaseObject::m_bAutodestroyTransitions

Hiermee geeft u op of gerelateerde overgangen automatisch moeten worden vernietigd.

BOOL m_bAutodestroyTransitions;

CAnimationBaseObject::m_dwUserData

Slaat door de gebruiker gedefinieerde gegevens op.

DWORD m_dwUserData;

CAnimationBaseObject::m_nGroupID

Hiermee geeft u de groeps-id van het animatieobject.

UINT32 m_nGroupID;

CAnimationBaseObject::m_nObjectID

Hiermee geeft u de object-id van het animatieobject.

UINT32 m_nObjectID;

CAnimationBaseObject::m_pParentController

Een aanwijzer naar de bovenliggende animatiecontroller.

CAnimationController* m_pParentController;

CAnimationBaseObject::SetAutodestroyTransitions

Hiermee stelt u een vlag in om overgangen automatisch te vernietigen.

void SetAutodestroyTransitions(BOOL bValue);

Parameterwaarden

bValue
Hiermee geeft u de vlag voor automatisch vernietigen.

Opmerkingen

Stel deze vlag alleen in als u overgangsobjecten hebt toegewezen met behulp van een nieuwe operator. Als om een of andere reden overgangsobjecten op de stapel worden toegewezen, moet de vlag voor automatisch vernietigen ONWAAR zijn. Deze vlag is standaard TRUE.

CAnimationBaseObject::SetID

Hiermee stelt u nieuwe id's in.

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

Parameterwaarden

nObjectID
Hiermee geeft u nieuwe object-id.

nGroupID
Hiermee geeft u nieuwe groeps-id.

Opmerkingen

Hiermee kunt u object-id en groeps-id wijzigen. Als de nieuwe groeps-id verschilt van de huidige id, wordt een animatieobject verplaatst naar een andere groep (indien nodig wordt er een nieuwe groep gemaakt).

CAnimationBaseObject::SetParentAnimationObjects

Hiermee wordt een relatie tot stand brengt tussen animatievariabelen, opgenomen in een animatieobject en de bijbehorende container.

virtual void SetParentAnimationObjects();

Opmerkingen

Deze helper kan worden gebruikt om een relatie tot stand te brengen tussen animatievariabelen in een animatieobject en de bijbehorende container. Deze lus over animatievariabelen en stelt een terugwijzer in op een bovenliggend animatieobject op elke animatievariabele. In de huidige implementatie wordt de werkelijke relatie tot stand gebracht in CAnimationBaseObject::ApplyTransitions, daarom worden backpointers pas ingesteld als u CAnimationGroup::Animate aanroept. Het kan handig zijn om de relatie te kennen wanneer u gebeurtenissen verwerkt en een bovenliggend animatieobject moet ophalen uit CAnimationVariable. Gebruik CAnimationVariable::GetParentAnimationObject.

CAnimationBaseObject::SetUserData

Hiermee stelt u door de gebruiker gedefinieerde gegevens in.

void SetUserData (DWORD dwUserData);

Parameterwaarden

dwUserData
Hiermee geeft u de aangepaste gegevens.

Opmerkingen

Gebruik deze methode om een aangepaste gegevens te koppelen aan een animatieobject. Deze gegevens kunnen later tijdens runtime worden opgehaald door GetUserData.

Zie ook

Klassen