Klasa CAnimationBaseObject
Klasa bazowa dla wszystkich obiektów animacji.
Składnia
class CAnimationBaseObject : public CObject;
Członkowie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CAnimationBaseObject::CAnimationBaseObject | Przeciążone. Tworzy obiekt animacji. |
CAnimationBaseObject::~CAnimationBaseObject | Destruktora. Wywoływana, gdy obiekt animacji jest niszczony. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CAnimationBaseObject::ApplyTransitions | Dodaje przejścia do scenorysu z hermetyzowaną zmienną animacji. |
CAnimationBaseObject::ClearTransitions | Usuwa wszystkie powiązane przejścia. |
CAnimationBaseObject::ContainsVariable | Określa, czy obiekt animacji zawiera określoną zmienną animacji. |
CAnimationBaseObject::CreateTransitions | Tworzy przejścia skojarzone z obiektem animacji. |
CAnimationBaseObject::D etachFromController | Odłącza obiekt animacji od nadrzędnego kontrolera animacji. |
CAnimationBaseObject::EnableIntegerValueChangedEvent | Konfiguruje procedurę obsługi zdarzeń zmienioną wartość całkowitą. |
CAnimationBaseObject::EnableValueChangedEvent | Konfiguruje procedurę obsługi zdarzeń zmienioną wartość. |
CAnimationBaseObject::GetAutodestroyTransitions | Informuje, czy powiązane przejście jest niszczone automatycznie. |
CAnimationBaseObject::GetGroupID | Zwraca bieżący identyfikator grupy. |
CAnimationBaseObject::GetObjectID | Zwraca bieżący identyfikator obiektu. |
CAnimationBaseObject::GetUserData | Zwraca dane zdefiniowane przez użytkownika. |
CAnimationBaseObject::SetAutodestroyTransitions | Ustawia flagę, aby automatycznie zniszczyć przejścia. |
CAnimationBaseObject::SetID | Ustawia nowe identyfikatory. |
CAnimationBaseObject::SetUserData | Ustawia dane zdefiniowane przez użytkownika. |
Metody chronione
Nazwa/nazwisko | opis |
---|---|
CAnimationBaseObject::GetAnimationVariableList | Zbiera wskaźniki do zawartych zmiennych animacji. |
CAnimationBaseObject::SetParentAnimationObjects | Ustanawia relację między zmiennymi animacji, zawartymi w obiekcie animacji i ich kontenerem. |
Chronione składowe danych
Nazwa/nazwisko | opis |
---|---|
CAnimationBaseObject::m_bAutodestroyTransitions | Określa, czy powiązane przejścia powinny zostać automatycznie zniszczone. |
CAnimationBaseObject::m_dwUserData | Przechowuje dane zdefiniowane przez użytkownika. |
CAnimationBaseObject::m_nGroupID | Określa identyfikator grupy obiektu animacji. |
CAnimationBaseObject::m_nObjectID | Określa identyfikator obiektu animacji. |
CAnimationBaseObject::m_pParentController | Wskaźnik do nadrzędnego kontrolera animacji. |
Uwagi
Ta klasa implementuje podstawowe metody dla wszystkich obiektów animacji. Obiekt animacji może reprezentować wartość, punkt, rozmiar, prostokąt lub kolor w aplikacji, a także dowolną jednostkę niestandardową. Obiekty animacji są przechowywane w grupach animacji (zobacz CAnimationGroup). Każda grupa może być animowana oddzielnie i może być traktowana jako analogia scenorysu. Obiekt animacji hermetyzuje co najmniej jedną zmienną animacji (zobacz CAnimationVariable), w zależności od jego reprezentacji logicznej. Na przykład CAnimationRect zawiera cztery zmienne animacji — jedną zmienną dla każdej strony prostokąta. Każda klasa obiektów animacji uwidacznia przeciążona metodę AddTransition, która powinna służyć do stosowania przejść do hermetyzowanych zmiennych animacji. Obiekt animacji można zidentyfikować za pomocą identyfikatora obiektu (opcjonalnie) i identyfikatora grupy. Identyfikator grupy jest niezbędny, aby umieścić obiekt animacji do poprawnej grupy, ale jeśli identyfikator grupy nie zostanie określony, obiekt zostanie umieszczony w grupie domyślnej o identyfikatorze 0. Jeśli wywołasz metodę SetID z innym identyfikatorem GroupID, obiekt animacji zostanie przeniesiony do innej grupy (w razie potrzeby zostanie utworzona nowa grupa).
Hierarchia dziedziczenia
CAnimationBaseObject
Wymagania
Nagłówek: afxanimationcontroller.h
CAnimationBaseObject::~CAnimationBaseObject
Destruktora. Wywoływana, gdy obiekt animacji jest niszczony.
virtual ~CAnimationBaseObject();
CAnimationBaseObject::ApplyTransitions
Dodaje przejścia do scenorysu z hermetyzowaną zmienną animacji.
virtual BOOL ApplyTransitions(
IUIAnimationStoryboard* pStoryboard,
BOOL bDependOnKeyframes);
Parametry
pStoryboard
Wskaźnik do scenorysu.
bDependOnKeyframes
W przypadku wartości FALSE ta metoda dodaje tylko te przejścia, które nie zależą od klatek kluczowych.
Wartość zwracana
Wartość TRUE, jeśli przejścia zostały pomyślnie dodane.
Uwagi
Dodaje powiązane przejścia, które zostały dodane z funkcją AddTransition (przeciążone metody w klasach pochodnych), do scenorysu.
CAnimationBaseObject::CAnimationBaseObject
Tworzy obiekt animacji.
CAnimationBaseObject();
CAnimationBaseObject(
UINT32 nGroupID,
UINT32 nObjectID = (UINT32)-1,
DWORD dwUserData = 0);
Parametry
nGroupID
Określa identyfikator grupy.
nObjectID
Określa identyfikator obiektu.
dwUserData
Dane zdefiniowane przez użytkownika, które mogą być skojarzone z obiektem animacji i pobierane później w czasie wykonywania.
Uwagi
Tworzy obiekty animacji i przypisuje domyślny identyfikator obiektu (0) i identyfikator grupy (0).
CAnimationBaseObject::ClearTransitions
Usuwa wszystkie powiązane przejścia.
virtual void ClearTransitions(BOOL bAutodestroy);
Parametry
bAutodestroy
Określa, czy obiekty przejściowe mają być niszczone automatycznie, czy po prostu usunąć je z powiązanej listy.
Uwagi
Usuwa wszystkie powiązane przejścia i niszczy je, jeśli flaga bAutodestroy lub m_bAutodestroyTransitions ma wartość TRUE. Przejścia powinny być niszczone automatycznie tylko wtedy, gdy nie są przydzielane na stosie. Jeśli powyższe flagi to FAŁSZ, przejścia zostaną usunięte z wewnętrznej listy powiązanych przejść.
CAnimationBaseObject::ContainsVariable
Określa, czy obiekt animacji zawiera określoną zmienną animacji.
virtual BOOL ContainsVariable(IUIAnimationVariable* pVariable);
Parametry
Zmienna
Wskaźnik do zmiennej animacji.
Wartość zwracana
WARTOŚĆ TRUE, jeśli zmienna animacji znajduje się w obiekcie animacji; w przeciwnym razie FAŁSZ.
Uwagi
Tej metody można użyć do określenia, czy zmienna animacji określona przez zmienną pVariable jest zawarta w obiekcie animacji. Obiekt animacji, w zależności od typu, może zawierać kilka zmiennych animacji. Na przykład CAnimationColor zawiera trzy zmienne, po jednym dla każdego składnika koloru (czerwony, zielony i niebieski). Gdy wartość zmiennej animacji uległa zmianie, interfejs API animacji systemu Windows wysyła zdarzenia ValueChanged lub IntegerValueChanged (jeśli jest włączone), a parametr tego zdarzenia jest wskaźnikiem do interfejsu IUIAnimationVariable zmiennej animacji. Ta metoda pomaga uzyskać wskaźnik do animacji z wskaźnika do zawartego obiektu COM.
CAnimationBaseObject::CreateTransitions
Tworzy przejścia skojarzone z obiektem animacji.
BOOL CreateTransitions();
Wartość zwracana
Wartość TRUE, jeśli przejścia zostały utworzone pomyślnie; w przeciwnym razie FAŁSZ.
Uwagi
Pętle na liście zmiennych animacji hermetyzowane w pochodnym obiekcie animacji i tworzy przejścia skojarzone z każdą zmienną animacji.
CAnimationBaseObject::D etachFromController
Odłącza obiekt animacji od nadrzędnego kontrolera animacji.
void DetachFromController();
Uwagi
Ta metoda jest używana wewnętrznie.
CAnimationBaseObject::EnableIntegerValueChangedEvent
Konfiguruje procedurę obsługi zdarzeń zmienioną wartość całkowitą.
virtual void EnableIntegerValueChangedEvent(
CAnimationController* pController,
BOOL bEnable);
Parametry
pController
Wskaźnik do kontrolera nadrzędnego.
bEnable
Określa, czy włączyć lub wyłączyć zdarzenie Zmieniono wartość całkowitą.
Uwagi
Jeśli procedura obsługi zdarzeń zmieniona wartość całkowita jest włączona, można obsłużyć to zdarzenie w CAnimationController::OnAnimationIntegerValueChanged, która powinna zostać zastąpiona w klasie pochodnej CAnimationController. Ta metoda jest wywoływana za każdym razem, gdy wartość liczby całkowitej animacji uległa zmianie.
CAnimationBaseObject::EnableValueChangedEvent
Konfiguruje procedurę obsługi zdarzeń zmienioną wartość.
virtual void EnableValueChangedEvent(
CAnimationController* pController,
BOOL bEnable);
Parametry
pController
Wskaźnik do kontrolera nadrzędnego.
bEnable
Określa, czy włączyć, czy wyłączyć zdarzenie Zmieniono wartość.
Uwagi
Jeśli program obsługi zdarzeń Zmieniono wartość jest włączony, można obsłużyć to zdarzenie w CAnimationController::OnAnimationValueChanged, która powinna zostać zastąpiona w klasie pochodnej CAnimationController. Ta metoda jest wywoływana za każdym razem, gdy wartość animacji uległa zmianie.
CAnimationBaseObject::GetAnimationVariableList
Zbiera wskaźniki do zawartych zmiennych animacji.
virtual void GetAnimationVariableList(
CList<CAnimationVariable*,
CAnimationVariable*>& list) = 0;
Parametry
lista
Lista, która musi być wypełniona zmiennymi animacji zawartymi w obiekcie animacji.
Uwagi
Ta czysta metoda wirtualna musi zostać zastąpiona w klasie pochodnej. Obiekt animacji, w zależności od jego typu, zawiera co najmniej jedną zmienną animacji. Na przykład CAnimationPoint zawiera dwie zmienne odpowiednio dla współrzędnych X i Y. Klasa bazowa CAnimationBaseObject implementuje niektóre metody ogólne, które działają na liście zmiennych animacji: ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent. Te metody wywołają metodę GetAnimationVariableList, która jest wypełniona klasy pochodnej rzeczywistymi zmiennymi animacji zawartymi w określonym obiekcie animacji, a następnie wykonaj pętlę na liście i wykonaj niezbędne akcje. Jeśli tworzysz niestandardowy obiekt animacji, musisz dodać element , aby wyświetlić listę wszystkich zmiennych animacji zawartych w tym obiekcie.
CAnimationBaseObject::GetAutodestroyTransitions
Informuje, czy powiązane przejście jest niszczone automatycznie.
BOOL GetAutodestroyTransitions() const;
Wartość zwracana
Jeśli wartość TRUE, powiązane przejścia są niszczone automatycznie; jeśli fałsz, obiekty przejścia powinny zostać cofnięto przydział przez wywołanie aplikacji.
Uwagi
Domyślnie ta flaga ma wartość TRUE. Ustaw tę flagę tylko wtedy, gdy przydzielono przejście na stos i/lub przejścia, powinno zostać cofnięto przydział przez aplikację wywołującą.
CAnimationBaseObject::GetGroupID
Zwraca bieżący identyfikator grupy.
UINT32 GetGroupID() const;
Wartość zwracana
Bieżący identyfikator grupy.
Uwagi
Użyj tej metody, aby pobrać identyfikator grupy. Jest to wartość 0, jeśli identyfikator grupy nie został jawnie ustawiony w konstruktorze lub z identyfikatorem SetID.
CAnimationBaseObject::GetObjectID
Zwraca bieżący identyfikator obiektu.
UINT32 GetObjectID() const;
Wartość zwracana
Bieżący identyfikator obiektu.
Uwagi
Użyj tej metody, aby pobrać identyfikator obiektu. Jest to wartość 0, jeśli identyfikator obiektu nie został jawnie ustawiony w konstruktorze lub z identyfikatorem SetID.
CAnimationBaseObject::GetUserData
Zwraca dane zdefiniowane przez użytkownika.
DWORD GetUserData() const;
Wartość zwracana
Wartość danych niestandardowych.
Uwagi
Wywołaj tę metodę, aby pobrać dane niestandardowe w czasie wykonywania. Zwrócona wartość będzie wynosić 0, jeśli nie została jawnie zainicjowana w konstruktorze lub za pomocą polecenia SetUserData.
CAnimationBaseObject::m_bAutodestroyTransitions
Określa, czy powiązane przejścia powinny zostać automatycznie zniszczone.
BOOL m_bAutodestroyTransitions;
CAnimationBaseObject::m_dwUserData
Przechowuje dane zdefiniowane przez użytkownika.
DWORD m_dwUserData;
CAnimationBaseObject::m_nGroupID
Określa identyfikator grupy obiektu animacji.
UINT32 m_nGroupID;
CAnimationBaseObject::m_nObjectID
Określa identyfikator obiektu animacji.
UINT32 m_nObjectID;
CAnimationBaseObject::m_pParentController
Wskaźnik do nadrzędnego kontrolera animacji.
CAnimationController* m_pParentController;
CAnimationBaseObject::SetAutodestroyTransitions
Ustawia flagę, aby automatycznie zniszczyć przejścia.
void SetAutodestroyTransitions(BOOL bValue);
Parametry
bValue
Określa flagę automatycznego niszczenia.
Uwagi
Ustaw tę flagę tylko wtedy, gdy przydzielono obiekty przejścia przy użyciu operatora new. Jeśli z jakiegoś powodu obiekty przejścia są przydzielane na stosie, flaga automatycznego niszczenia powinna mieć wartość FALSE. Domyślnie ta flaga ma wartość TRUE.
CAnimationBaseObject::SetID
Ustawia nowe identyfikatory.
void SetID(
UINT32 nObjectID,
UINT32 nGroupID = 0);
Parametry
nObjectID
Określa nowy identyfikator obiektu.
nGroupID
Określa nowy identyfikator grupy.
Uwagi
Umożliwia zmianę identyfikatora obiektu i identyfikatora grupy. Jeśli nowy identyfikator grupy różni się od bieżącego identyfikatora, obiekt animacji zostanie przeniesiony do innej grupy (w razie potrzeby zostanie utworzona nowa grupa).
CAnimationBaseObject::SetParentAnimationObjects
Ustanawia relację między zmiennymi animacji, zawartymi w obiekcie animacji i ich kontenerem.
virtual void SetParentAnimationObjects();
Uwagi
Ten pomocnik może służyć do ustanowienia relacji między zmiennymi animacji zawartymi w obiekcie animacji i ich kontenerem. Wykonuje pętle na zmiennych animacji i ustawia wskaźnik wsteczny na obiekt animacji nadrzędnej na każdą zmienną animacji. W bieżącej implementacji rzeczywista relacja jest ustanawiana w obiekcie CAnimationBaseObject::ApplyTransitions, dlatego wskaźniki wsteczne nie są ustawiane do momentu wywołania klasy CAnimationGroup::Animowanie. Znajomość relacji może być przydatna podczas przetwarzania zdarzeń i konieczności pobrania obiektu animacji nadrzędnej z CAnimationVariable. Użyj obiektu CAnimationVariable::GetParentAnimationObject.
CAnimationBaseObject::SetUserData
Ustawia dane zdefiniowane przez użytkownika.
void SetUserData (DWORD dwUserData);
Parametry
dwUserData
Określa dane niestandardowe.
Uwagi
Ta metoda umożliwia skojarzenie danych niestandardowych z obiektem animacji. Te dane mogą być pobierane później w czasie wykonywania przez polecenie GetUserData.
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla