Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Implementálja az animációvezérlőt, amely központi felületet biztosít az animációk létrehozásához és kezeléséhez.
Szemantika
class CAnimationController : public CObject;
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
| CAnimationController::CAnimationController | Animációvezérlőt hoz létre. |
| CAnimationController::~CAnimationController | A destruktor. Az animációvezérlő objektumának megsemmisítésekor hívható meg. |
Nyilvános metódusok
| Név | Description |
|---|---|
| CAnimationController::AddAnimationObject | Animációs objektumot ad hozzá az animációvezérlőhöz tartozó csoporthoz. |
| CAnimationController::AddKeyframeToGroup | Hozzáad egy kulcskeretet a csoportosításhoz. |
| CAnimationController::AnimateGroup | Előkészít egy csoportot az animáció futtatására, és igény szerint ütemezi azt. |
| CAnimationController::CleanUpGroup | Túlterhelt. A keretrendszer meghívta, hogy távolítsa el a csoportot az animáció ütemezésekor. |
| CAnimationController::CreateKeyframe | Túlterhelt. Létrehoz egy kulcskeretet, amely az áttűnéstől függ, és hozzáadja a megadott csoporthoz. |
| CAnimationController::EnableAnimationManagerEvent | Beállít vagy felszabadít egy kezelőt, hogy meghívja az animációkezelő állapota megváltozásakor. |
| CAnimationController::EnableAnimationTimerEventHandler | Beállít vagy kiad egy kezelőt az időzítési eseményekhez, és kezelőt az időzítési frissítésekhez. |
| CAnimationController::EnablePriorityComparisonHandler | Beállítja vagy felszabadítja a prioritás-összehasonlító kezelőt, hogy meg lehessen állapítani, hogy egy ütemezett történettábla megszakítható, lezárható, levágható vagy tömöríthető-e. |
| CAnimationController::EnableStoryboardEventHandler | Beállít vagy kiad egy kezelőt a storyboard állapotához és az események frissítéséhez. |
| CAnimationController::FindAnimationGroup | Túlterhelt. Megkeres egy animációs csoportot a történet alapján. |
| CAnimationController::FindAnimationObject | Megkeresi a megadott animációs változót tartalmazó animációs objektumot. |
| CAnimationController::GetKeyframeStoryboardStart | Egy kulcskeretet ad vissza, amely azonosítja a storyboard kezdetét. |
| CAnimationController::GetUIAnimationManager | Hozzáférést biztosít a beágyazott IUIAnimationManager objektumhoz. |
| CAnimationController::GetUIAnimationTimer | Hozzáférést biztosít a beágyazott IUIAnimationTimer objektumhoz. |
| CAnimationController::GetUITransitionFactory | Az IUIAnimationTransitionFactory felületre vagy NULL-ra mutató mutató, ha az áttűnési kódtár létrehozása sikertelen volt. |
| CAnimationController::GetUITransitionLibrary | Hozzáférést biztosít a beágyazott IUIAnimationTransitionLibrary objektumhoz. |
| CAnimationController::IsAnimationInProgress | Azt jelzi, hogy legalább egy csoport animációt játszik-e le. |
| CAnimationController::IsValid | Jelzi, hogy az animációvezérlő érvényes-e. |
| CAnimationController::OnAnimationIntegerValueChanged | A keretrendszer meghívja, ha az animációs változó egész száma módosult. |
| CAnimationController::OnAnimationManagerStatusChanged | A keretrendszer meghívta a StatusChanged eseményre válaszul az animációkezelőtől. |
| CAnimationController::OnAnimationTimerPostUpdate | A keretrendszer meghívta az animációs frissítés befejezése után. |
| CAnimationController::OnAnimationTimerPreUpdate | A keretrendszer meghívta az animációs frissítés megkezdése előtt. |
| CAnimationController::OnAnimationTimerRenderingTooSlow | A keretrendszer meghívja, amikor egy animáció renderelési képkockasebessége a minimálisan kívánt képkockasebesség alá esik. |
| CAnimationController::OnAnimationValueChanged | A keretrendszer meghívja, amikor az animációs változó értéke megváltozott. |
| CAnimationController::OnBeforeAnimationStart | Közvetlenül az animáció ütemezése előtt hívja meg a keretrendszer. |
| CAnimationController::OnHasPriorityCancel | A keretrendszer meghívta az ütemezési ütközések feloldásához. |
| CAnimationController::OnHasPriorityCompress | A keretrendszer meghívta az ütemezési ütközések feloldásához. |
| CAnimationController::OnHasPriorityConclude | A keretrendszer meghívta az ütemezési ütközések feloldásához. |
| CAnimationController::OnHasPriorityTrim | A keretrendszer meghívta az ütemezési ütközések feloldásához. |
| CAnimationController::OnStoryboardStatusChanged | A keretrendszer meghívta, amikor a storyboard állapota megváltozott. |
| CAnimationController::OnStoryboardUpdated | A keretrendszer meghívta a storyboard frissítésekor. |
| CAnimationController::RemoveAllAnimationGroups | Eltávolítja az összes animációs csoportot az animációvezérlőből. |
| CAnimationController::RemoveAnimationGroup | Eltávolít egy megadott azonosítóval rendelkező animációs csoportot az animációvezérlőből. |
| CAnimationController::RemoveAnimationObject | Animációs objektum eltávolítása az animációvezérlőből. |
| CAnimationController::RemoveTransitions | Eltávolítja a megadott csoporthoz tartozó animációs objektumok áttűnéseit. |
| CAnimationController::ScheduleGroup | Animáció ütemezése. |
| CAnimationController::SetRelatedWnd | Kapcsolatot hoz létre az animációvezérlő és az ablak között. |
| CAnimationController::UpdateAnimationManager | Az animációkezelőt az összes animációs változó értékének frissítésére irányítja. |
Védett metódusok
| Név | Description |
|---|---|
| CAnimationController::CleanUpGroup | Túlterhelt. Egy segítő, aki megtisztítja a csoportot. |
| CAnimationController::OnAfterSchedule | A keretrendszer meghívta, amikor a megadott csoport animációját éppen ütemezték. |
Védett adattagok
| Név | Description |
|---|---|
| CAnimationController::gkeyframeStoryboardStart | A forgatókönyv kezdetét jelképező kulcskeret. |
| CAnimationController::m_bIsValid | Megadja, hogy egy animációvezérlő érvényes-e vagy sem. Ez a tag HAMIS értékre van állítva, ha a jelenlegi operációs rendszer nem támogatja a Windows Animation API-t. |
| CAnimationController::m_lstAnimationGroups | Az animációvezérlőhöz tartozó animációs csoportok listája. |
| CAnimationController::m_pAnimationManager | Az Animation Manager COM-objektumra mutató mutatót tárol. |
| CAnimationController::m_pAnimationTimer | Az Animáció időzítő COM-objektumra mutató mutatót tárol. |
| CAnimationController::m_pRelatedWnd | Egy kapcsolódó CWnd objektumra mutató mutató, amely automatikusan újrarajzolt, ha az animációkezelő állapota megváltozott, vagy a frissítés utáni esemény történt. Null érték is lehet. |
| CAnimationController::m_pTransitionFactory | A Transition Factory COM objektumra mutató mutatót tárol. |
| CAnimationController::m_pTransitionLibrary | Az áttűnéstár COM-objektumára mutató mutatót tárol. |
Megjegyzések
A CAnimationController osztály az animációkat kezelő kulcsosztály. Létrehozhat egy vagy több animációvezérlő-példányt egy alkalmazásban, és opcionálisan csatlakoztathat egy animációvezérlő-példányt egy CWnd objektumhoz a CAnimationController::SetRelatedWnd használatával. Ez a kapcsolat szükséges ahhoz, hogy WM_PAINT üzeneteket automatikusan elküldjön a kapcsolódó ablakba, ha az animációkezelő állapota megváltozott, vagy az animáció időzítője frissült. Ha nem engedélyezi ezt a kapcsolatot, manuálisan kell újból létrehoznia egy animációt megjelenítő ablakot. Ebből a célból egy osztályt a CAnimationControllerből származtathat, és felülbírálhatja az OnAnimationManagerStatusChanged és/vagy az OnAnimationTimerPostUpdate parancsot, és szükség esetén érvényteleníthet egy vagy több ablakot.
Öröklési hierarchia
CAnimationController
Requirements
Fejléc: afxanimationcontroller.h
CAnimationController::~CAnimationController
A destruktor. Az animációvezérlő objektumának megsemmisítésekor hívható meg.
virtual ~CAnimationController(void);
CAnimationController::AddAnimationObject
Animációs objektumot ad hozzá az animációvezérlőhöz tartozó csoporthoz.
CAnimationGroup* AddAnimationObject(CAnimationBaseObject* pObject);
Paraméterek
pObject
Egy animációs objektumra mutató mutató.
Visszaadott érték
Mutató a meglévő vagy új animációs csoporthoz, ahol a pObject hozzáadva, ha a függvény sikeres; NULL érték, ha a pObject már hozzá lett adva egy másik animációvezérlőhöz tartozó csoporthoz.
Megjegyzések
Hívja meg ezt a metódust, ha animációs objektumot szeretne hozzáadni az animációvezérlőhöz. Egy objektum az objektum csoportazonosítója szerint lesz hozzáadva egy csoporthoz (lásd: CAnimationBaseObject::SetID). Az animációvezérlő új csoportot hoz létre, ha ez az első objektum, amely a megadott GroupID azonosítóval van hozzáadva. Egy animációs objektum csak egy animációs vezérlőhöz adható hozzá. Ha egy objektumot szeretne hozzáadni egy másik vezérlőhöz, először hívja meg a RemoveAnimationObject parancsot. Ha olyan objektumhoz hívja meg a SetID azonosítót, amely már hozzá lett adva egy csoporthoz, az objektum el lesz távolítva a régi csoportból, és hozzáadódik egy másik, megadott azonosítóval rendelkező csoporthoz.
CAnimationController::AddKeyframeToGroup
Hozzáad egy kulcskeretet a csoportosításhoz.
BOOL AddKeyframeToGroup(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe);
Paraméterek
nGroupID
Megadja a csoportazonosítót.
pKeyframe
Egy kulcskeretre mutató mutató.
Visszaadott érték
IGAZ, ha a függvény sikeres; egyéb esetben HAMIS.
Megjegyzések
Általában nem kell meghívnia ezt a metódust, használja helyette a CAnimationController::CreateKeyframe parancsot, amely automatikusan létrehozza és hozzáadja a létrehozott kulcskeretet egy csoporthoz.
CAnimationController::AnimateGroup
Előkészít egy csoportot az animáció futtatására, és igény szerint ütemezi azt.
BOOL AnimateGroup(
UINT32 nGroupID,
BOOL bScheduleNow = TRUE);
Paraméterek
nGroupID
A GroupID értéket adja meg.
bScheduleNow
Itt adhatja meg, hogy azonnal futtassa-e az animációt.
Visszaadott érték
IGAZ, ha az animációt sikeresen ütemezték és futtatták.
Megjegyzések
Ez a módszer elvégzi a tényleges munkát a storyboard létrehozásához, animációs változók hozzáadásához, áttűnések alkalmazásához és kulcskeretek beállításához. Ha a bScheduleNow-t FALSE értékre állítja, késleltetheti az ütemezést. Ebben az esetben a megadott csoport egy animációhoz beállított storyboardot fog tárolni. Ezen a ponton beállíthatja a forgatókönyv és az animáció változóinak eseményeit. Amikor ténylegesen futtatnia kell a CAnimationController::ScheduleGroup animációs hívást.
CAnimationController::CAnimationController
Animációvezérlőt hoz létre.
CAnimationController(void);
CAnimationController::CleanUpGroup
A keretrendszer meghívta, hogy távolítsa el a csoportot az animáció ütemezésekor.
void CleanUpGroup(UINT32 nGroupID);
void CleanUpGroup(CAnimationGroup* pGroup);
Paraméterek
nGroupID
A GroupID értéket adja meg.
pGroup
A megtisztítandó animációs csoportra mutató mutató.
Megjegyzések
Ez a metódus eltávolítja az összes áttűnést és kulcskeretet a megadott csoportból, mivel ezek nem relevánsak az animáció ütemezése után.
CAnimationController::CreateKeyframe
Létrehoz egy kulcskeretet, amely az áttűnéstől függ, és hozzáadja a megadott csoporthoz.
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseTransition* pTransition);
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe,
UI_ANIMATION_SECONDS offset = 0.0);
Paraméterek
nGroupID
Megadja a csoportazonosítót, amelyhez a kulcskeret létrejön.
pTransition
Áttűnés mutatója. Az áttűnés után a rendszer beszúrja a kulcskeretet a storyboardba.
pKeyframe
A kulcskeret alapkulcskeretére mutató mutató.
ellensúlyoz
Eltolás másodpercben a pKeyframe által megadott alapkulcskerettől.
Visszaadott érték
Az újonnan létrehozott kulcskeretre mutató mutató, ha a függvény sikeres.
Megjegyzések
A visszaadott mutatót tárolhatja, és más kulcskereteket is létrehozhat az újonnan létrehozott kulcskereten (lásd a második túlterhelést). A kulcskereteken áttűnéseket is elkezdhet – lásd: CBaseTransition::SetKeyframes. Nem kell törölnie az ily módon létrehozott kulcskereteket, mert az animációs csoportok automatikusan törlik őket. Ügyeljen arra, hogy kulcskereteket hozzon létre más kulcskeretek és áttűnések alapján, és kerülje a körkörös hivatkozásokat.
CAnimationController::EnableAnimationManagerEvent
Beállít vagy felszabadít egy kezelőt, hogy meghívja az animációkezelő állapota megváltozásakor.
virtual BOOL EnableAnimationManagerEvent(BOOL bEnable = TRUE);
Paraméterek
bEnable
Meghatározza, hogy egy kezelőt állítson be vagy engedjen fel.
Visszaadott érték
IGAZ, ha a kezelő sikeresen be lett állítva vagy ki lett adva.
Megjegyzések
Ha egy kezelő be van állítva (engedélyezve) a Windows Animation meghívja az OnAnimationManagerStatusChanged parancsot, amikor az animációkezelő állapota megváltozik.
CAnimationController::EnableAnimationTimerEventHandler
Beállít vagy kiad egy kezelőt az időzítési eseményekhez, és kezelőt az időzítési frissítésekhez.
virtual BOOL EnableAnimationTimerEventHandler(
BOOL bEnable = TRUE,
UI_ANIMATION_IDLE_BEHAVIOR idleBehavior = UI_ANIMATION_IDLE_BEHAVIOR_DISABLE);
Paraméterek
bEnable
Megadja, hogy a kezelőket beállítsa vagy engedje fel.
idleBehavior
Az időzítőfrissítés-kezelő tétlenségi viselkedését adja meg.
Visszaadott érték
IGAZ, ha a kezelők beállítása vagy kiadása sikeresen megtörtént; HAMIS, ha ezt a metódust másodszor is meghívják a kezelők első feloldása nélkül, vagy ha bármilyen más hiba történik.
Megjegyzések
Ha a kezelők be vannak állítva (engedélyezve), a Windows Animation API meghívja az OnAnimationTimerPreUpdate, az OnAnimationTimerPostUpdate és az OnRenderingTooSlow metódusokat. Engedélyeznie kell az animációs időzítőket a Windows Animation API frissítési forgatókönyveinek engedélyezéséhez. Ellenkező esetben meg kell hívnia a CAnimationController::UpdateAnimationManager parancsot, hogy az animációs kezelő az összes animációs változó értékeit frissítse.
CAnimationController::EnablePriorityComparisonHandler
Beállítja vagy felszabadítja a prioritás-összehasonlító kezelőt, hogy meg lehessen állapítani, hogy egy ütemezett történettábla megszakítható, lezárható, levágható vagy tömöríthető-e.
virtual BOOL EnablePriorityComparisonHandler(DWORD dwHandlerType);
Paraméterek
dwHandlerType
A UI_ANIMATION_PHT_ jelzők (lásd megjegyzések) kombinációja, amely meghatározza, hogy mely kezelőket kell beállítani vagy kiadni.
Visszaadott érték
IGAZ, ha a kezelő sikeresen be lett állítva vagy ki lett adva.
Megjegyzések
Ha egy kezelő be van állítva (engedélyezve) a Windows Animation a következő virtuális metódusokat hívja meg a dwHandlerType típustól függően: OnHasPriorityCancel, OnHasPriorityConclude, OnHasPriorityTrim, OnHasPriorityCompress. A dwHandler a következő jelölők kombinációja lehet: UI_ANIMATION_PHT_NONE - az összes kezelő felszabadítása UI_ANIMATION_PHT_CANCEL - állítsa be az Összehasonlító kezelő lemondása UI_ANIMATION_PHT_CONCLUDE beállítását – az összehasonlító kezelő UI_ANIMATION_PHT_COMPRESS beállítása – Az összehasonlító összehasonlító kezelő UI_ANIMATION_PHT_TRIM beállítása – a Vágási összehasonlító kezelő UI_ANIMATION_PHT_CANCEL_REMOVE beállítása – Az összehasonlító kezelő törlése UI_ANIMATION_PHT_CONCLUDE_REMOVE eltávolítása – a Conclude összehasonlító kezelő UI_ANIMATION_PHT_COMPRESS_REMOVE eltávolítása – a Tömörítési összehasonlító kezelő eltávolítása UI_ANIMATION_PHT_TRIM_REMOVE – a Vágási összehasonlító kezelő eltávolítása
CAnimationController::EnableStoryboardEventHandler
Beállít vagy kiad egy kezelőt a storyboard állapotához és az események frissítéséhez.
virtual BOOL EnableStoryboardEventHandler(
UINT32 nGroupID,
BOOL bEnable = TRUE);
Paraméterek
nGroupID
Megadja a csoportazonosítót.
bEnable
Meghatározza, hogy egy kezelőt állítson be vagy engedjen fel.
Visszaadott érték
IGAZ, ha a kezelő sikeresen be lett állítva vagy ki lett adva; HAMIS, ha a megadott animációs csoport már megtalálható, vagy a megadott csoport animációja nem lett elindítva, és a belső vágólap null értékű.
Megjegyzések
Ha egy kezelő be van állítva (engedélyezve), a Windows Animation API meghívja az OnStoryboardStatusChanges és az OnStoryboardUpdated virtuális metódusokat. A CAnimationController::Animate meghívása után be kell állítani egy kezelőt a megadott animációs csoporthoz, mert beágyazott IUIAnimationStoryboard objektumot hoz létre.
CAnimationController::FindAnimationGroup
Megkeres egy animációs csoportot a csoportazonosítója alapján.
CAnimationGroup* FindAnimationGroup(UINT32 nGroupID);
CAnimationGroup* FindAnimationGroup(IUIAnimationStoryboard* pStoryboard);
Paraméterek
nGroupID
Csoportazonosítót ad meg.
pStoryboard
Mutató egy történethez.
Visszaadott érték
Ha a megadott azonosítóval rendelkező csoport nem található, az animációs csoportra vagy NULL értékre mutató mutató.
Megjegyzések
Ezzel a módszerrel futásidőben kereshet animációs csoportot. A rendszer létrehoz és hozzáad egy csoportot az animációs csoportok belső listájához, amikor egy első animációs objektumot ad hozzá egy adott GroupID azonosítóval az animációvezérlőhöz.
CAnimationController::FindAnimationObject
Megkeresi a megadott animációs változót tartalmazó animációs objektumot.
BOOL FindAnimationObject(
IUIAnimationVariable* pVariable,
CAnimationBaseObject** ppObject,
CAnimationGroup** ppGroup);
Paraméterek
pVariable
Egy animációs változóra mutató mutató.
ppObject
Kimeneti. Egy animációs objektumra mutató mutatót vagy NULL értéket tartalmaz.
ppGroup
Kimeneti. Az animációs objektumot vagy NULL értéket tartalmazó animációs csoportra mutató mutatót tartalmaz.
Visszaadott érték
IGAZ, ha objektumot találtak; egyéb esetben HAMIS.
Megjegyzések
Eseménykezelőktől hívható meg, ha egy animációs objektumot kell megkeresni a bejövő animációs változóból.
CAnimationController::gkeyframeStoryboardStart
A forgatókönyv kezdetét jelképező kulcskeret.
static CBaseKeyFrame gkeyframeStoryboardStart;
CAnimationController::GetKeyframeStoryboardStart
Egy kulcskeretet ad vissza, amely azonosítja a storyboard kezdetét.
static CBaseKeyFrame* GetKeyframeStoryboardStart();
Visszaadott érték
Az alapkulcskeretre mutató mutató, amely azonosítja a storyboard kezdetét.
Megjegyzések
Szerezze be ezt a kulcskeretet, hogy minden más kulcskeretet vagy áttűnést arra a pillanatra alapozza, amikor egy történettábla elindul.
CAnimationController::GetUIAnimationManager
Hozzáférést biztosít a beágyazott IUIAnimationManager objektumhoz.
IUIAnimationManager* GetUIAnimationManager();
Visszaadott érték
Ha az animációkezelő létrehozása sikertelen, az IUIAnimationManager felületre vagy NULL-ra mutató mutató.
Megjegyzések
Ha a jelenlegi operációs rendszer nem támogatja a Windows Animation API-t, ez a metódus NULL értéket ad vissza, majd ezt követően a CAnimationController::IsValid eredménye HAMIS. Előfordulhat, hogy az IUIAnimationManager-hez kell hozzáférnie ahhoz, hogy meghívja annak felületi metódusait, amelyeket nem az animációvezérlő csomagol be.
CAnimationController::GetUIAnimationTimer
Hozzáférést biztosít a beágyazott IUIAnimationTimer objektumhoz.
IUIAnimationTimer* GetUIAnimationTimer();
Visszaadott érték
Az IUIAnimationTimer felületre vagy NULL értékre mutató mutató, ha az animációs időzítő létrehozása nem sikerült.
Megjegyzések
Ha a jelenlegi operációs rendszer nem támogatja a Windows Animation API-t, ez a metódus NULL értéket ad vissza, majd ezt követően a CAnimationController::IsValid eredménye HAMIS.
CAnimationController::GetUITransitionFactory
Az IUIAnimationTransitionFactory felületre vagy NULL-ra mutató mutató, ha az áttűnési kódtár létrehozása sikertelen volt.
IUIAnimationTransitionFactory* GetUITransitionFactory();
Visszaadott érték
Az IUIAnimationTransitionFactory vagy NULL értékre mutató mutató, ha az áttűnési gyár létrehozása sikertelen volt.
Megjegyzések
Ha a jelenlegi operációs rendszer nem támogatja a Windows Animation API-t, ez a metódus NULL értéket ad vissza, majd ezt követően a CAnimationController::IsValid eredménye HAMIS.
CAnimationController::GetUITransitionLibrary
Hozzáférést biztosít a beágyazott IUIAnimationTransitionLibrary objektumhoz.
IUIAnimationTransitionLibrary* GetUITransitionLibrary();
Visszaadott érték
Az IUIAnimationTransitionLibrary felületre vagy NULL-ra mutató mutató, ha az áttűnési kódtár létrehozása sikertelen volt.
Megjegyzések
Ha a jelenlegi operációs rendszer nem támogatja a Windows Animation API-t, ez a metódus NULL értéket ad vissza, majd ezt követően a CAnimationController::IsValid eredménye HAMIS.
CAnimationController::IsAnimationInProgress
Azt jelzi, hogy legalább egy csoport animációt játszik-e le.
virtual BOOL IsAnimationInProgress();
Visszaadott érték
IGAZ, ha animáció van folyamatban ehhez az animációvezérlőhöz; egyéb esetben HAMIS.
Megjegyzések
Ellenőrzi az animációkezelő állapotát, és igaz értéket ad vissza, ha az állapot UI_ANIMATION_MANAGER_BUSY.
CAnimationController::IsValid
Jelzi, hogy az animációvezérlő érvényes-e.
BOOL IsValid() const;
Visszaadott érték
IGAZ, ha az animációvezérlő érvényes; egyéb esetben HAMIS.
Megjegyzések
Ez a metódus csak akkor ad vissza HAMIS értéket, ha a Windows Animation API nem támogatott az aktuális operációs rendszeren, és az animációkezelő létrehozása meghiúsult, mert nincs regisztrálva. A jelölő beállításához a COM-kódtárak inicializálása után legalább egyszer meg kell hívnia a GetUIAnimationManagert.
CAnimationController::m_bIsValid
Megadja, hogy egy animációvezérlő érvényes-e vagy sem. Ez a tag HAMIS értékre van állítva, ha a jelenlegi operációs rendszer nem támogatja a Windows Animation API-t.
BOOL m_bIsValid;
CAnimationController::m_lstAnimationGroups
Az animációvezérlőhöz tartozó animációs csoportok listája.
CList<CAnimationGroup*, CAnimationGroup*> m_lstAnimationGroups;
CAnimationController::m_pAnimationManager
Az Animation Manager COM-objektumra mutató mutatót tárol.
ATL::CComPtr<IUIAnimationManager> m_pAnimationManager;
CAnimationController::m_pAnimationTimer
Az Animáció időzítő COM-objektumra mutató mutatót tárol.
ATL::CComPtr<IUIAnimationTimer> m_pAnimationTimer;
CAnimationController::m_pRelatedWnd
Egy kapcsolódó CWnd objektumra mutató mutató, amely automatikusan újrarajzolt, ha az animációkezelő állapota megváltozott, vagy a frissítés utáni esemény történt. Null érték is lehet.
CWnd* m_pRelatedWnd;
CAnimationController::m_pTransitionFactory
A Transition Factory COM objektumra mutató mutatót tárol.
ATL::CComPtr<IUIAnimationTransitionFactory> m_pTransitionFactory;
CAnimationController::m_pTransitionLibrary
Az áttűnéstár COM-objektumára mutató mutatót tárol.
ATL::CComPtr<IUIAnimationTransitionLibrary> m_pTransitionLibrary;
CAnimationController::OnAfterSchedule
A keretrendszer meghívta, amikor a megadott csoport animációját éppen ütemezték.
virtual void OnAfterSchedule(CAnimationGroup* pGroup);
Paraméterek
pGroup
Egy ütemezett animációs csoportra mutató mutató.
Megjegyzések
Az alapértelmezett implementáció eltávolítja a kulcskereteket a megadott csoportból, és áttűnéseket a megadott csoporthoz tartozó animációs változókról. Egy származtatott osztályban felül lehet bírálni a további műveleteket az animáció ütemezése alapján.
CAnimationController::OnAnimationIntegerValueChanged
A keretrendszer meghívja, ha az animációs változó egész száma módosult.
virtual void OnAnimationIntegerValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
INT32 newValue,
INT32 prevValue);
Paraméterek
pGroup
Egy olyan animációs csoportra mutató mutató, amely egy olyan animációs objektumot tartalmaz, amelynek az értéke megváltozott.
pObject
Egy animációs objektumra mutató mutató, amely egy olyan animációs változót tartalmaz, amelynek az értéke megváltozott.
Változó
Egy animációs változóra mutató mutató.
newValue
Új értéket ad meg.
prevValue
Az előző értéket adja meg.
Megjegyzések
Ez a metódus akkor hívható meg, ha az EnableIntegerValueChangedEvent használatával engedélyezi az animációs változó eseményeit, és egy adott animációs változót vagy animációs objektumot hív meg. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása.
CAnimationController::OnAnimationManagerStatusChanged
A keretrendszer meghívta a StatusChanged eseményre válaszul az animációkezelőtől.
virtual void OnAnimationManagerStatusChanged(
UI_ANIMATION_MANAGER_STATUS newStatus,
UI_ANIMATION_MANAGER_STATUS previousStatus);
Paraméterek
newStatus
Új animációkezelő állapota.
previousStatus
Előző animációkezelő állapota.
Megjegyzések
Ez a metódus akkor hívódik meg, ha engedélyezi az Animációkezelő eseményeit az EnableAnimationManagerEvent használatával. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása. Az alapértelmezett implementáció frissíti a kapcsolódó ablakot, ha a SetRelatedWnd beállítással lett beállítva.
CAnimationController::OnAnimationTimerPostUpdate
A keretrendszer meghívta az animációs frissítés befejezése után.
virtual void OnAnimationTimerPostUpdate();
Megjegyzések
Ez a metódus akkor hívódik meg, ha az EnableAnimationTimerEventHandler használatával engedélyezi az időzítő eseménykezelőit. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása.
CAnimationController::OnAnimationTimerPreUpdate
A keretrendszer meghívta az animációs frissítés megkezdése előtt.
virtual void OnAnimationTimerPreUpdate();
Megjegyzések
Ez a metódus akkor hívódik meg, ha az EnableAnimationTimerEventHandler használatával engedélyezi az időzítő eseménykezelőit. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása.
CAnimationController::OnAnimationTimerRenderingTooSlow
A keretrendszer meghívja, amikor egy animáció renderelési képkockasebessége a minimálisan kívánt képkockasebesség alá esik.
virtual void OnAnimationTimerRenderingTooSlow(UINT32 fps);
Paraméterek
Fps
Az aktuális képkockasebesség képkockákban másodpercenként.
Megjegyzések
Ez a metódus akkor hívódik meg, ha az EnableAnimationTimerEventHandler használatával engedélyezi az időzítő eseménykezelőit. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása. A minimálisan kívánatos képkockasebesség az IUIAnimationTimer::SetFrameRateThreshold meghívásával adható meg.
CAnimationController::OnAnimationValueChanged
A keretrendszer meghívja, amikor az animációs változó értéke megváltozott.
virtual void OnAnimationValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
DOUBLE newValue,
DOUBLE prevValue);
Paraméterek
pGroup
Egy olyan animációs csoportra mutató mutató, amely egy olyan animációs objektumot tartalmaz, amelynek az értéke megváltozott.
pObject
Egy animációs objektumra mutató mutató, amely egy olyan animációs változót tartalmaz, amelynek az értéke megváltozott.
Változó
Egy animációs változóra mutató mutató.
newValue
Új értéket ad meg.
prevValue
Az előző értéket adja meg.
Megjegyzések
Ez a metódus akkor hívható meg, ha az EnableValueChangedEvent használatával engedélyezi az animációs változó eseményeket, és egy adott animációs változót vagy animációs objektumot hív meg. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása.
CAnimationController::OnBeforeAnimationStart
Közvetlenül az animáció ütemezése előtt hívja meg a keretrendszer.
virtual void OnBeforeAnimationStart(CAnimationGroup* pGroup);
Paraméterek
pGroup
Egy olyan animációs csoportra mutató mutató, amelynek animációja éppen indul.
Megjegyzések
Ez a hívás a kapcsolódó CWnd-hoz van irányítva, és felül lehet bírálni egy származtatott osztályban, hogy minden további műveletet végrehajtson, mielőtt az animáció elindul a megadott csoporthoz.
CAnimationController::OnHasPriorityCancel
A keretrendszer meghívta az ütemezési ütközések feloldásához.
virtual BOOL OnHasPriorityCancel(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Paraméterek
pGroupScheduled
Az a csoport, amely az aktuálisan ütemezett történettáblát birtokolja.
pGroupNew
Az ütemezés alatt álló új storyboard tulajdonosa csoport ütközik a pGroupScheduled által birtokolt ütemezett történettel.
priorityEffect
A pGroupNew-re gyakorolt lehetséges hatás, ha a pGroupScheduled magasabb prioritással rendelkezik.
Visszaadott érték
Igaz értéket kell visszaadnia, ha a pGroupNew tulajdonában lévő storyboard prioritással rendelkezik. HAMIS értéket kell visszaadnia, ha a pGroupScheduled tulajdonában lévő storyboard prioritással rendelkezik.
Megjegyzések
Ez a metódus akkor hívható meg, ha engedélyezi a prioritás-összehasonlító eseményeket a CAnimationController::EnablePriorityComparisonHandler használatával, és adja meg a UI_ANIMATION_PHT_CANCEL. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása. A Ütközéskezeléssel kapcsolatos további információkért olvassa el a Windows Animation API dokumentációját.
CAnimationController::OnHasPriorityCompress
A keretrendszer meghívta az ütemezési ütközések feloldásához.
virtual BOOL OnHasPriorityCompress(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Paraméterek
pGroupScheduled
Az a csoport, amely az aktuálisan ütemezett történettáblát birtokolja.
pGroupNew
Az ütemezés alatt álló új storyboard tulajdonosa csoport ütközik a pGroupScheduled által birtokolt ütemezett történettel.
priorityEffect
A pGroupNew-re gyakorolt lehetséges hatás, ha a pGroupScheduled magasabb prioritással rendelkezik.
Visszaadott érték
Igaz értéket kell visszaadnia, ha a pGroupNew tulajdonában lévő storyboard prioritással rendelkezik. HAMIS értéket kell visszaadnia, ha a pGroupScheduled tulajdonában lévő storyboard prioritással rendelkezik.
Megjegyzések
Ez a metódus akkor hívható meg, ha a CAnimationController::EnablePriorityComparisonHandler használatával engedélyezi a prioritás-összehasonlító eseményeket, és megadja a UI_ANIMATION_PHT_COMPRESS. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása. A Ütközéskezeléssel kapcsolatos további információkért olvassa el a Windows Animation API dokumentációját.
CAnimationController::OnHasPriorityConclude
A keretrendszer meghívta az ütemezési ütközések feloldásához.
virtual BOOL OnHasPriorityConclude(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Paraméterek
pGroupScheduled
Az a csoport, amely az aktuálisan ütemezett történettáblát birtokolja.
pGroupNew
Az ütemezés alatt álló új storyboard tulajdonosa csoport ütközik a pGroupScheduled által birtokolt ütemezett történettel.
priorityEffect
A pGroupNew-re gyakorolt lehetséges hatás, ha a pGroupScheduled magasabb prioritással rendelkezik.
Visszaadott érték
Igaz értéket kell visszaadnia, ha a pGroupNew tulajdonában lévő storyboard prioritással rendelkezik. HAMIS értéket kell visszaadnia, ha a pGroupScheduled tulajdonában lévő storyboard prioritással rendelkezik.
Megjegyzések
Ez a metódus akkor hívható meg, ha engedélyezi a prioritás-összehasonlító eseményeket a CAnimationController::EnablePriorityComparisonHandler használatával, és adja meg a UI_ANIMATION_PHT_CONCLUDE. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása. A Ütközéskezeléssel kapcsolatos további információkért olvassa el a Windows Animation API dokumentációját.
CAnimationController::OnHasPriorityTrim
A keretrendszer meghívta az ütemezési ütközések feloldásához.
virtual BOOL OnHasPriorityTrim(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Paraméterek
pGroupScheduled
Az a csoport, amely az aktuálisan ütemezett történettáblát birtokolja.
pGroupNew
Az ütemezés alatt álló új storyboard tulajdonosa csoport ütközik a pGroupScheduled által birtokolt ütemezett történettel.
priorityEffect
A pGroupNew-re gyakorolt lehetséges hatás, ha a pGroupScheduled magasabb prioritással rendelkezik.
Visszaadott érték
Igaz értéket kell visszaadnia, ha a pGroupNew tulajdonában lévő storyboard prioritással rendelkezik. HAMIS értéket kell visszaadnia, ha a pGroupScheduled tulajdonában lévő storyboard prioritással rendelkezik.
Megjegyzések
Ez a metódus akkor hívható meg, ha engedélyezi a prioritás-összehasonlító eseményeket a CAnimationController::EnablePriorityComparisonHandler használatával, és adja meg a UI_ANIMATION_PHT_TRIM. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása. A Ütközéskezeléssel kapcsolatos további információkért olvassa el a Windows Animation API dokumentációját.
CAnimationController::OnStoryboardStatusChanged
A keretrendszer meghívta, amikor a storyboard állapota megváltozott.
virtual void OnStoryboardStatusChanged(
CAnimationGroup* pGroup,
UI_ANIMATION_STORYBOARD_STATUS newStatus,
UI_ANIMATION_STORYBOARD_STATUS previousStatus);
Paraméterek
pGroup
Egy olyan animációs csoportra mutató mutató, amely annak a történetnek a tulajdonosa, amelynek állapota megváltozott.
newStatus
Megadja az új állapotot.
previousStatus
Az előző állapotot adja meg.
Megjegyzések
Ez a metódus akkor hívható meg, ha a CAnimationController::EnableStoryboardEventHandler használatával engedélyezi a történeti eseményeket. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása.
CAnimationController::OnStoryboardUpdated
A keretrendszer meghívta a storyboard frissítésekor.
virtual void OnStoryboardUpdated(CAnimationGroup* pGroup);
Paraméterek
pGroup
Mutató egy csoporthoz, amely a storyboard tulajdonosa.
Megjegyzések
Ez a metódus akkor hívható meg, ha a CAnimationController::EnableStoryboardEventHandler használatával engedélyezi a történeti eseményeket. Egy származtatott osztályban felülírható az alkalmazásspecifikus műveletek végrehajtása.
CAnimationController::RemoveAllAnimationGroups
Eltávolítja az összes animációs csoportot az animációvezérlőből.
void RemoveAllAnimationGroups();
Megjegyzések
Minden csoport törlődik, az alkalmazás szintjén tárolt mutatójukat érvényteleníteni kell. Ha a CAnimationGroup::m_bAutodestroyAnimationObjects egy törölt csoport esetében IGAZ, az adott csoporthoz tartozó összes animációs objektum törlődik; ellenkező esetben a szülőanimáció-vezérlőre mutató hivatkozások NULL értékűre lesznek állítva, és hozzáadhatók egy másik vezérlőhöz.
CAnimationController::RemoveAnimationGroup
Eltávolít egy megadott azonosítóval rendelkező animációs csoportot az animációvezérlőből.
void RemoveAnimationGroup(UINT32 nGroupID);
Paraméterek
nGroupID
Az animációs csoport azonosítóját adja meg.
Megjegyzések
Ez a módszer eltávolít egy animációs csoportot a csoportok belső listájából, és törli azt, ezért ha az adott animációs csoportra mutató mutatót tárolt, érvényteleníteni kell. Ha a CAnimationGroup::m_bAutodestroyAnimationObjects igaz, a csoporthoz tartozó összes animációs objektum törlődik; ellenkező esetben a szülőanimáció-vezérlőre mutató hivatkozások NULL értékűre lesznek állítva, és hozzáadhatók egy másik vezérlőhöz.
CAnimationController::RemoveAnimationObject
Animációs objektum eltávolítása az animációvezérlőből.
void RemoveAnimationObject(
CAnimationBaseObject* pObject,
BOOL bNoDelete = FALSE);
Paraméterek
pObject
Egy animációs objektumra mutató mutató.
bNoDelete
Ha ez a paraméter IGAZ, az objektum nem törlődik az eltávolításkor.
Megjegyzések
Eltávolít egy animációs objektumot az animációvezérlőből és az animációs csoportból. Hívja meg ezt a függvényt, ha egy adott objektumot már nem kell animálni, vagy ha át kell helyeznie az objektumot egy másik animációs vezérlőbe. Az utolsó esetben a bNoDelete értéknek IGAZnak kell lennie.
CAnimationController::RemoveTransitions
Eltávolítja a megadott csoporthoz tartozó animációs objektumok áttűnéseit.
void RemoveTransitions(UINT32 nGroupID);
Paraméterek
nGroupID
Megadja a csoportazonosítót.
Megjegyzések
A csoport az animációs objektumok fölé hurkol, és minden animációs objektumhoz meghívja a ClearTransitions(FALSE) függvényt. Ezt a metódust a keretrendszer hívja meg az animáció ütemezése után.
CAnimationController::ScheduleGroup
Animáció ütemezése.
BOOL ScheduleGroup(
UINT32 nGroupID,
UI_ANIMATION_SECONDS time = 0.0);
Paraméterek
nGroupID
Az ütemezni kívánt animációs csoportazonosítót adja meg.
time
Megadja az ütemezési időt.
Visszaadott érték
IGAZ, ha az animációt sikeresen ütemezték. HAMIS, ha a storyboard nem lett létrehozva, vagy más hiba történik.
Megjegyzések
A bScheduleNow paraméterrel meg kell hívnia az AnimateGroupot HAMIS korábbi ScheduleGroup értékre. Megadhatja a kívánt animációs időt az IUIAnimationTimer::GetTime fájlból. Ha az időparaméter 0,0, az animáció az aktuális időpontra van ütemezve.
CAnimationController::SetRelatedWnd
Kapcsolatot hoz létre az animációvezérlő és az ablak között.
void SetRelatedWnd(CWnd* pWnd);
Paraméterek
pWnd
A beállítani kívánt ablakobjektumra mutató mutató.
Megjegyzések
Ha egy kapcsolódó CWnd-objektum be van állítva, az animációvezérlő automatikusan frissítheti (WM_PAINT üzenetet küldhet), ha az animációkezelő állapota megváltozott, vagy az időzítő a frissítési esemény bekövetkezése után történt.
CAnimationController::UpdateAnimationManager
Az animációkezelőt az összes animációs változó értékének frissítésére irányítja.
virtual void UpdateAnimationManager();
Megjegyzések
Ennek a metódusnak a meghívása az animációkezelőt az aktuális időpontra váltó, a forgatókönyvek állapotának szükség szerinti megváltoztatásával és az animációs változók megfelelő interpolált értékekre való frissítésével. Ez a metódus belsőleg meghívja az IUIAnimationTimer::GetTime(timeNow) és az IUIAnimationManager::Update(timeNow) metódust. A viselkedés testreszabásához felülbírálja ezt a metódust egy származtatott osztályban.