CBaseTransition 类

表示基本转换。

语法

class CBaseTransition : public CObject;

成员

公共枚举

名称 描述
CBaseTransition::TRANSITION_TYPE Enumeration 定义 Windows 动画 API 的 MFC 实现当前支持的转换类型。

公共构造函数

名称 描述
CBaseTransition::CBaseTransition 构造基本转换对象。
CBaseTransition::~CBaseTransition 析构函数。 在销毁转换对象时调用。

公共方法

名称 描述
CBaseTransition::AddToStoryboard 向情节提要添加转换。
CBaseTransition::AddToStoryboardAtKeyframes 向情节提要添加转换。
CBaseTransition::Clear 释放封装的 IUIAnimationTransition COM 对象。
CBaseTransition::Create 创建 COM 转换。
CBaseTransition::GetEndKeyframe 返回开始关键帧。
CBaseTransition::GetRelatedVariable 返回指向相关变量的指针。
CBaseTransition::GetStartKeyframe 返回开始关键帧。
CBaseTransition::GetTransition 已重载。 返回指向基础 COM 转换对象的指针。
CBaseTransition::GetType 返回转换类型。
CBaseTransition::IsAdded 指示是否已将转换添加到情节提要中。
CBaseTransition::SetKeyframes 设置转换的关键帧。
CBaseTransition::SetRelatedVariable 在动画变量和转换之间建立关系。

受保护的数据成员

名称 描述
CBaseTransition::m_bAdded 指定是否已将转换添加到情节提要中。
CBaseTransition::m_pEndKeyframe 存储指向指定转换结束的关键帧的指针。
CBaseTransition::m_pRelatedVariable 指向动画变量的指针,该变量使用存储在 m_transition 中的转换进行动画处理。
CBaseTransition::m_pStartKeyframe 存储指向指定转换起始处的关键帧的指针。
CBaseTransition::m_transition 存储指向 IUIAnimationTransition 的指针。 如果尚未创建 COM 转换对象,则为 NULL。
CBaseTransition::m_type 存储转换类型。

备注

该类封装 IUIAnimationTransition 接口,并作为所有转换的基类。

继承层次结构

CObject

CBaseTransition

要求

标头: afxanimationcontroller.h

CBaseTransition::~CBaseTransition

析构函数。 在销毁转换对象时调用。

virtual ~CBaseTransition();

CBaseTransition::AddToStoryboard

向情节提要添加转换。

BOOL AddToStoryboard(IUIAnimationStoryboard* pStoryboard);

参数

pStoryboard
指向情节提要的指针,它将对相关变量进行动画处理。

返回值

如果转换已成功添加到情节提要中则为 TRUE。

备注

将转换应用于情节提要中的相关变量。 如果这是此情节提要中应用于此变量的第一个转换,则转换从情节提要的开头开始。 否则,该转换将追加到最近添加到变量的转换。

CBaseTransition::AddToStoryboardAtKeyframes

向情节提要添加转换。

BOOL AddToStoryboardAtKeyframes(IUIAnimationStoryboard* pStoryboard);

参数

pStoryboard
指向情节提要的指针,它将对相关变量进行动画处理。

返回值

如果转换已成功添加到情节提要中则为 TRUE。

备注

将转换应用于情节提要中的相关变量。 如果指定了开始关键帧,则转换从该关键帧开始。 如果指定了结束关键帧,则转换从开始关键帧开始并在结束关键帧处停止。 如果转换是使用指定的持续时间参数创建的,则该持续时间将被开始和结束关键帧之间的持续时间所覆盖。 如果未指定关键帧,该转换将追加到最近添加到变量的转换。

CBaseTransition::CBaseTransition

构造基本转换对象。

CBaseTransition();

CBaseTransition::Clear

释放封装的 IUIAnimationTransition COM 对象。

void Clear();

注解

应该从派生类的 Create 方法中调用此方法,以防止 IUITransition 接口泄漏。

CBaseTransition::Create

创建 COM 转换。

virtual BOOL Create(
    IUIAnimationTransitionLibrary* pLibrary,
    IUIAnimationTransitionFactory* pFactory) = 0;

参数

pLibrary
指向转换库的指针,用于创建标准转换。 对于自定义转换,它可以为 NULL。

pFactory
指向转换工厂的指针,用于创建自定义转换。 对于标准转换,它可以为 NULL。

返回值

如果成功创建了转换 COM 对象,则为 TRUE;否则为 FALSE。

备注

这是一个纯虚函数,必须在派生类中重写。 框架调用它来实例化基础的 COM 转换对象。

CBaseTransition::GetEndKeyframe

返回开始关键帧。

CBaseKeyFrame* GetEndKeyframe();

返回值

指向关键帧的有效指针,如果不应在关键帧之间插入转换,则为 NULL。

注解

此方法可用于访问先前由 SetKeyframes 设置的关键帧对象。 如果将转换添加到情节提要,它将由顶级代码调用。

CBaseTransition::GetRelatedVariable

返回指向相关变量的指针。

CAnimationVariable* GetRelatedVariable();

返回值

指向动画变量的有效指针,如果 SetRelatedVariable 未设置动画变量,则为 NULL。

注解

这是相关动画变量的访问器。

CBaseTransition::GetStartKeyframe

返回开始关键帧。

CBaseKeyFrame* GetStartKeyframe();

返回值

指向关键帧的有效指针,如果转换不应在关键帧之后开始,则为 NULL。

备注

此方法可用于访问先前由 SetKeyframes 设置的关键帧对象。 如果将转换添加到情节提要,它将由顶级代码调用。

CBaseTransition::GetTransition

返回指向基础 COM 转换对象的指针。

IUIAnimationTransition* GetTransition(
    IUIAnimationTransitionLibrary* pLibrary,
    IUIAnimationTransitionFactory* pFactory);

IUIAnimationTransition* GetTransition();

参数

pLibrary
指向转换库的指针,用于创建标准转换。 对于自定义转换,它可以为 NULL。

pFactory
指向转换工厂的指针,用于创建自定义转换。 对于标准转换,它可以为 NULL。

返回值

指向 IUIAnimationTransition 的有效指针,如果无法创建基础转换,则为 NULL。

备注

此方法返回一个指向基础 COM 转换对象的指针,并在必要时创建它。

CBaseTransition::GetType

返回转换类型。

TRANSITION_TYPE GetType() const;

返回值

TRANSITION_TYPE 枚举值之一。

注解

此方法可用于按类型识别转换对象。 该类型在派生类的构造函数中设置。

CBaseTransition::IsAdded

指示是否已将转换添加到情节提要中。

BOOL IsAdded();

返回值

如果已将转换添加到情节提要,则返回 TRUE,否则返回 FALSE。

注解

当顶级代码向情节提要添加转换时,会在内部设置此标志。

CBaseTransition::m_bAdded

指定是否已将转换添加到情节提要中。

BOOL m_bAdded;

CBaseTransition::m_pEndKeyframe

存储指向指定转换结束的关键帧的指针。

CBaseKeyFrame* m_pEndKeyframe;

CBaseTransition::m_pRelatedVariable

指向动画变量的指针,该变量使用存储在 m_transition 中的转换进行动画处理。

CAnimationVariable* m_pRelatedVariable;

CBaseTransition::m_pStartKeyframe

存储指向指定转换起始处的关键帧的指针。

CBaseKeyFrame* m_pStartKeyframe;

CBaseTransition::m_transition

存储指向 IUIAnimationTransition 的指针。 如果尚未创建 COM 转换对象,则为 NULL。

ATL::CComPtr<IUIAnimationTransition> m_transition;

CBaseTransition::m_type

存储转换类型。

TRANSITION_TYPE m_type;

CBaseTransition::SetKeyframes

设置转换的关键帧。

void SetKeyframes(
    CBaseKeyFrame* pStart = NULL,
    CBaseKeyFrame* pEnd = NULL);

参数

pStart
指定转换起始处的关键帧。

pEnd
指定转换结尾的关键帧。

注解

此方法指示转换在指定的关键帧之后开始,并且(可选)如果 pEnd 不是 NULL,则表示在指定的关键帧之前结束。 如果转换是使用指定的持续时间参数创建的,则该持续时间将被开始和结束关键帧之间的持续时间所覆盖。

CBaseTransition::SetRelatedVariable

在动画变量和转换之间建立关系。

void SetRelatedVariable(CAnimationVariable* pVariable);

参数

pVariable
指向相关动画变量的指针。

备注

在动画变量和转换之间建立关系。 转换只能应用于一个变量。

CBaseTransition::TRANSITION_TYPE Enumeration

定义 Windows 动画 API 的 MFC 实现当前支持的转换类型。

enum TRANSITION_TYPE;

备注

转换类型是在特定转换的构造函数中设置的。 例如,CSinusoidalTransitionFromRange 将其类型设置为 SINUSOIDAL_FROM_RANGE。

另请参阅