CAnimationColor 类

实现可对颜色的红色、绿色和蓝色分量进行动画处理的颜色功能。

语法

class CAnimationColor : public CAnimationBaseObject;

成员

公共构造函数

名称 描述
CAnimationColor::CAnimationColor 已重载。 构造动画颜色对象。

公共方法

名称 描述
CAnimationColor::AddTransition 为红色、绿色和蓝色分量添加转换。
CAnimationColor::GetB 提供对表示蓝色分量的 CAnimationVariable 的访问权限。
CAnimationColor::GetDefaultValue 返回颜色分量的默认值。
CAnimationColor::GetG 提供对表示绿色分量的 CAnimationVariable 的访问权限。
CAnimationColor::GetR 提供对表示红色分量的 CAnimationVariable 的访问权限。
CAnimationColor::GetValue 返回当前值。
CAnimationColor::SetDefaultValue 设置默认值。

受保护方法

名称 描述
CAnimationColor::GetAnimationVariableList 将封装的动画变量置于列表中。 (替代 CAnimationBaseObject::GetAnimationVariableList。)

公共运算符

“属性” 描述
CAnimationColor::operator COLORREF
CAnimationColor::operator= 将颜色分配给 CAnimationColor。

受保护的数据成员

名称 描述
CAnimationColor::m_bValue 表示动画颜色的蓝色分量的封装动画变量。
CAnimationColor::m_gValue 表示动画颜色的绿色分量的封装动画变量。
CAnimationColor::m_rValue 表示动画颜色的红色分量的封装动画变量。

备注

CAnimationColor 类封装三个 CAnimationVariable 对象,并且可在应用程序中表示颜色。 例如,可使用此类对屏幕上任何对象的颜色(如文本颜色、背景色等)进行动画处理。 若要在应用程序中使用此类,只需实例化此类的对象,使用 CAnimationController::AddAnimationObject 将其添加到动画控制器,然后为每个要应用于红色、绿色和蓝色分量的切换调用 AddTransition。

继承层次结构

CObject

CAnimationBaseObject

CAnimationColor

要求

标头: afxanimationcontroller.h

CAnimationColor::AddTransition

为红色、绿色和蓝色分量添加转换。

void AddTransition(
    CBaseTransition* pRTransition,
    CBaseTransition* pGTransition,
    CBaseTransition* pBTransition);

参数

pRTransition
红色分量的转换。

pGTransition
绿色分量的转换。

pBTransition
蓝色分量的转换。

备注

调用此函数,将指定的切换添加到要应用于表示颜色分量的动画变量的内部切换列表。 添加切换时,这些切换不会立即应用,而是存储在内部列表中。 调用 CAnimationController::AnimateGroup 时应用切换效果(将其添加到情节提要来获取特定值)。 如果不需要将切换效果应用到某个颜色分量,可传递 NULL。

CAnimationColor::CAnimationColor

构造 CAnimationColor 对象。

CAnimationColor();

CAnimationColor(
    COLORREF color,
    UINT32 nGroupID,
    UINT32 nObjectID = (UINT32)-1,
    DWORD dwUserData = 0);

参数

color
指定默认颜色。

nGroupID
指定组 ID。

nObjectID
指定对象 ID。

dwUserData
指定用户定义的数据。

备注

该对象使用红色、绿色、蓝色、对象 ID 和组 ID 的默认值构造,这些值将设置为 0。 稍后可在运行时使用 SetDefaultValue 和 SetID 更改这些值。

CAnimationColor::GetAnimationVariableList

将封装的动画变量置于列表中。

virtual void GetAnimationVariableList(CList<CAnimationVariable*>& lst);

参数

lst
函数返回时,它包含指向表示红色、绿色和蓝色分量的三个 CAnimationVariable 对象的指针。

CAnimationColor::GetB

提供对表示蓝色分量的 CAnimationVariable 的访问权限。

CAnimationVariable& GetB();

返回值

对表示蓝色分量的封装 CAnimationVariable 的引用。

备注

可调用此方法来直接访问表示蓝色分量的基础 CAnimationVariable。

CAnimationColor::GetDefaultValue

返回颜色分量的默认值。

COLORREF GetDefaultValue();

返回值

包含 RGB 分量的默认值的 COLORREF 值。

备注

调用此函数来检索先前由构造函数或 SetDefaultValue 设置的默认值。

CAnimationColor::GetG

提供对表示绿色分量的 CAnimationVariable 的访问权限。

CAnimationVariable& GetG();

返回值

对表示绿色分量的封装 CAnimationVariable 的引用。

备注

可调用此方法来直接访问表示绿色分量的基础 CAnimationVariable。

CAnimationColor::GetR

提供对表示红色分量的 CAnimationVariable 的访问权限。

CAnimationVariable& GetR();

返回值

对表示红色分量的封装 CAnimationVariable 的引用。

备注

可调用此方法来直接访问表示红色分量的基础 CAnimationVariable。

CAnimationColor::GetValue

返回当前值。

BOOL GetValue(COLORREF& color);

参数

color
输出。 此方法返回时包含当前值。

返回值

如果已成功检索当前值,则为 TRUE;否则为 FALSE。

备注

调用此函数可检索动画颜色的当前值。 如果此方法失败,或者尚未初始化颜色分量对应的基础 COM 对象,则 color 包含先前在构造函数中或 SetDefaultValue 中设置的默认值。

CAnimationColor::m_bValue

表示动画颜色的蓝色分量的封装动画变量。

CAnimationVariable m_bValue;

CAnimationColor::m_gValue

表示动画颜色的绿色分量的封装动画变量。

CAnimationVariable m_gValue;

CAnimationColor::m_rValue

表示动画颜色的红色分量的封装动画变量。

CAnimationVariable m_rValue;

CAnimationColor::operator COLORREF

operator COLORREF();

返回值

CAnimationColor::operator=

将颜色分配给 CAnimationColor。

void operator=(COLORREF color);

参数

color
指定新值动画颜色。

备注

建议在动画开始之前执行此操作,因为此运算符调用 SetDefaultValue,这会重新创建颜色分量对应的基础 COM 对象(如果已创建这些对象)。 如果将此动画对象订阅到事件(ValueChanged 或 IntegerValueChanged),则需要重新启用这些事件。

CAnimationColor::SetDefaultValue

设置默认值。

void SetDefaultValue(COLORREF color);

参数

color
为红色、绿色和蓝色分量指定新默认值。

备注

使用此函数将默认值设置为动画对象。 此方法将默认值分配给动画颜色的颜色分量。 如果已创建基础 COM 对象,它还会重新创建这些对象。 如果将此动画对象订阅到事件(ValueChanged 或 IntegerValueChanged),则需要重新启用这些事件。

另请参阅