CCustomTransition-Klasse
Implementiert einen benutzerdefinierten Übergang.
class CCustomTransition : public CBaseTransition;
Name | Beschreibung |
---|---|
CCustomTransition::CCustomTransition | Erstellt ein benutzerdefiniertes Übergangsobjekt. |
Name | Beschreibung |
---|---|
CCustomTransition::Create | Ruft die Übergangsbibliothek auf, um gekapselte Übergangs-COM-Objekt zu erstellen. (Außerkraftsetzungen CBaseTransition::Create.) |
CCustomTransition::SetInitialValue | Legt einen Anfangswert fest, der auf eine Animationsvariable angewendet wird, die diesem Übergang zugeordnet ist. |
CCustomTransition::SetInitialVelocity | Legt eine Anfängliche Geschwindigkeit fest, die auf eine Animationsvariable angewendet wird, die diesem Übergang zugeordnet ist. |
Name | Beschreibung |
---|---|
CCustomTransition::m_bInitialValueSpecified | Gibt an, ob der Anfangswert mit SetInitialValue angegeben wurde. |
CCustomTransition::m_bInitialVelocitySpecified | Gibt an, ob die anfängliche Geschwindigkeit mit SetInitialVelocity angegeben wurde. |
CCustomTransition::m_initialValue | Speichert den Anfangswert. |
CCustomTransition::m_initialVelocity | Speichert die anfängliche Geschwindigkeit. |
CCustomTransition::m_pInterpolator | Speichert einen Zeiger auf einen benutzerdefinierten Interpolator. |
Mit der CCustomTransitions-Klasse können Entwickler benutzerdefinierte Übergänge implementieren. Es wird erstellt und als Standardübergang verwendet, aber sein Konstruktor akzeptiert als Parameter einen Zeiger auf einen benutzerdefinierten Interpolator. Führen Sie die folgenden Schritte aus, um benutzerdefinierte Übergänge zu verwenden: 1. Leiten Sie eine Klasse von CCustomInterpolator ab und implementieren Sie mindestens die InterpolateValue-Methode. 2. Stellen Sie sicher, dass die Lebensdauer des benutzerdefinierten Interpolatorobjekts länger sein muss als die Dauer der Animation, in der es verwendet wird. 3. Instanziieren (mithilfe von Operator neu) ein CCustomTransition-Objekt und übergeben Sie einen Zeiger auf einen benutzerdefinierten Interpolator im Konstruktor. 4. Rufen Sie CCustomTransition::SetInitialValue und CCustomTransition::SetInitialVelocity auf, wenn diese Parameter für die benutzerdefinierte Interpolation erforderlich sind. 5. Übergeben Sie den Zeiger an den benutzerdefinierten Übergang zur AddTransition-Methode des Animationsobjekts, dessen Wert mit dem benutzerdefinierten Algorithmus animiert werden soll. 6. Wenn der Wert des Animationsobjekts die Windows-Animations-API ändern soll, wird InterpolateValue (und andere relevante Methoden) in CCustomInterpolator aufgerufen.
CCustomTransition
Header: afxanimationcontroller.h
Erstellt ein benutzerdefiniertes Übergangsobjekt.
CCustomTransition(CCustomInterpolator* pInterpolator);
pInterpolator
Ein Zeiger auf benutzerdefinierte Interpolator.
Ruft die Übergangsbibliothek auf, um gekapselte Übergangs-COM-Objekt zu erstellen.
virtual BOOL Create(
IUIAnimationTransitionLibrary* */,
IUIAnimationTransitionFactory* pFactory);
pFactory
Ein Zeiger auf den Übergang der Factory, der für die Erstellung von benutzerdefinierten Übergängen verantwortlich ist.
Diese Methode kann auch festlegen, dass der Anfangswert und die anfängliche Geschwindigkeit auf eine Animationsvariable angewendet werden, die diesem Übergang zugeordnet ist. Zu diesem Zweck müssen Sie SetInitialValue und SetInitialVelocity aufrufen, bevor das Framework das gekapselte Übergangs-COM-Objekt erstellt (dies geschieht, wenn Sie CAnimationController::AnimateGroup aufrufen).
Gibt an, ob der Anfangswert mit SetInitialValue angegeben wurde.
BOOL m_bInitialValueSpecified;
Gibt an, ob die anfängliche Geschwindigkeit mit SetInitialVelocity angegeben wurde.
BOOL m_bInitialVelocitySpecified;
Speichert den Anfangswert.
DOUBLE m_initialValue;
Speichert die anfängliche Geschwindigkeit.
DOUBLE m_initialVelocity;
Speichert einen Zeiger auf einen benutzerdefinierten Interpolator.
CCustomInterpolator* m_pInterpolator;
Legt einen Anfangswert fest, der auf eine Animationsvariable angewendet wird, die diesem Übergang zugeordnet ist.
void SetInitialValue(DOUBLE initialValue);
initialValue
Legt eine Anfängliche Geschwindigkeit fest, die auf eine Animationsvariable angewendet wird, die diesem Übergang zugeordnet ist.
void SetInitialVelocity(DOUBLE initialVelocity);
initialVelocity