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 接口,并作为所有转换的基类。
继承层次结构
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。