CBaseKeyFrame 类

实现关键帧的基本功能。

语法

class CBaseKeyFrame : public CObject;

成员

公共构造函数

名称 描述
CBaseKeyFrame::CBaseKeyFrame 构造关键帧对象。

公共方法

名称 描述
CBaseKeyFrame::AddToStoryboard 向情节提要添加关键帧。
CBaseKeyFrame::GetAnimationKeyframe 返回基础关键帧值。
CBaseKeyFrame::IsAdded 告知关键帧是否已添加到情节提要中。
CBaseKeyFrame::IsKeyframeAtOffset 指定关键帧是应该在偏移时添加到情节提要,还是在转换后添加。

受保护的数据成员

名称 描述
CBaseKeyFrame::m_bAdded 指定此关键帧是否已添加到情节提要中。
CBaseKeyFrame::m_bIsKeyframeAtOffset 指定此关键帧是应该在偏移时从另一个现有关键帧添加到情节提要中,还是在某个转换结束时添加。
CBaseKeyFrame::m_keyframe 表示 Windows 动画 API 关键帧。 当关键帧未初始化时,它被设置为预定义的值 UI_ANIMATION_KEYFRAME_STORYBOARD_START。

备注

封装 UI_ANIMATION_KEYFRAME 变量。 用作任何关键帧实现的基类。 关键帧表示情节提要中的某个时刻,可用于指定转换的开始和结束时间。 有两种类型的关键帧:在指定的偏移(时间)添加到情节提要的关键帧,或在指定的转换之后添加的关键帧。 由于在动画开始之前无法知道某些转换的持续时间,因此某些关键帧的实际值只能在运行时确定。 由于关键帧可能依赖于转换,而转换又依赖于关键帧,因此在生成关键帧链时防止无限递归很重要。

继承层次结构

CObject

CBaseKeyFrame

要求

标头: afxanimationcontroller.h

CBaseKeyFrame::AddToStoryboard

向情节提要添加关键帧。

virtual BOOL AddToStoryboard(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDeepAdd);

参数

pStoryboard
指向情节提要的指针。

bDeepAdd
如果此参数为 TRUE,且要添加的关键帧依赖于其他关键帧或转换,则此方法会尝试首先将此关键帧或转换添加到情节提要。

返回值

如果成功将关键帧添加到情节提要,(值)为 TRUE;否则为 FALSE。

备注

调用此方法以将关键帧添加到情节提要。

CBaseKeyFrame::CBaseKeyFrame

构造关键帧对象。

CBaseKeyFrame();

CBaseKeyFrame::GetAnimationKeyframe

返回基础关键帧值。

UI_ANIMATION_KEYFRAME GetAnimationKeyframe() const;

返回值

当前关键帧。 默认值为 UI_ANIMATION_KEYFRAME_STORYBOARD_START。

备注

这是基础关键帧值的取值函数。

CBaseKeyFrame::IsAdded

告知关键帧是否已添加到情节提要中。

BOOL IsAdded() const;

返回值

如果关键帧已添加到情节提要,(值)为 TRUE;否则为 FALSE。

备注

在基类中,IsAdded 始终返回 TRUE,但在派生类中它会被重写。

CBaseKeyFrame::IsKeyframeAtOffset

指定关键帧是应该在偏移时添加到情节提要,还是在转换后添加。

BOOL IsKeyframeAtOffset() const;

返回值

如果关键帧应在某个指定偏移时添加到情节提要中,(值)为 TRUE。 如果关键帧应在某个转换后添加到情节提要中,(值)为 FALSE。

注解

指定关键帧是否应该在偏移时添加到情节提要。 必须在派生类中指定偏移或转换。

CBaseKeyFrame::m_bAdded

指定此关键帧是否已添加到情节提要中。

BOOL m_bAdded;

CBaseKeyFrame::m_bIsKeyframeAtOffset

指定此关键帧是应该在偏移时从另一个现有关键帧添加到情节提要中,还是在某个转换结束时添加。

BOOL m_bIsKeyframeAtOffset;

CBaseKeyFrame::m_keyframe

表示 Windows 动画 API 关键帧。 当关键帧未初始化时,它被设置为预定义的值 UI_ANIMATION_KEYFRAME_STORYBOARD_START。

UI_ANIMATION_KEYFRAME m_keyframe;

另请参阅