// AnimationRect.h
#pragma once
class CAnimationRect
{
public:
// 构造函数
CAnimationRect(double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0)
: m_left(left), m_top(top), m_right(right), m_bottom(bottom), m_defaultLeft(left), m_defaultTop(top),
m_defaultRight(right), m_defaultBottom(bottom)
{
}
// 获取左边界
double GetLeft() const
{
return m_left;
}
// 设置左边界
void SetLeft(double left)
{
m_left = left;
}
// 获取上边界
double GetTop() const
{
return m_top;
}
// 设置上边界
void SetTop(double top)
{
m_top = top;
}
// 获取右边界
double GetRight() const
{
return m_right;
}
// 设置右边界
void SetRight(double right)
{
m_right = right;
}
// 获取下边界
double GetBottom() const
{
return m_bottom;
}
// 设置下边界
void SetBottom(double bottom)
{
m_bottom = bottom;
}
// 公共方法:添加过渡
void AddTransition(double leftDelta, double topDelta, double rightDelta, double bottomDelta)
{
// 在当前边界上添加过渡值
m_left += leftDelta;
m_top += topDelta;
m_right += rightDelta;
m_bottom += bottomDelta;
}
// 公共方法:获取默认值
CAnimationRect GetDefaultValue() const
{
// 返回具有默认值的新矩形对象
return CAnimationRect(m_defaultLeft, m_defaultTop, m_defaultRight, m_defaultBottom);
}
// 公共方法:设置默认值
void SetDefaultValue(double left, double top, double right, double bottom)
{
m_defaultLeft = left;
m_defaultTop = top;
m_defaultRight = right;
m_defaultBottom = bottom;
}
private:
double m_left;
double m_top;
double m_right;
double m_bottom;
double m_defaultLeft;
double m_defaultTop;
double m_defaultRight;
double m_defaultBottom;
};
在这个示例中,SetDefaultValue方法接受四个参数,分别是左、上、右、下边界的默认值,然后将这些值存储到类的成员变量中。在GetDefaultValue方法中,返回一个新的CAnimationRect对象,该对象的边界值为默认值。
你可以在使用CAnimationRect对象时调用这些方法,如下所示:
CAnimationRect myRect(1.0, 2.0, 5.0, 6.0);
// 设置默认值
myRect.SetDefaultValue(0.0, 0.0, 0.0, 0.0);
// 获取默认值矩形对象
CAnimationRect defaultValueRect = myRect.GetDefaultValue();
转载请注明出处:http://www.zyzy.cn/article/detail/15324/MFC/CAnimationRect