案例7: 实际应用
实现点击产生随机大小、随机颜色的球,若是左键按下产生的小球,按下过程中小球上移,若是右键按下产生的小球,按下过程中小球下移,能够保存、读取。
运行截图:
插入代码如下:
定义要存储的变量:(记得初始化)
class CBubbleUpDoc : public CDocument
{
// Attributes
public:
CRect BubbleRect[MAX];
int BubbleColor[MAX];
int m_Bubble;
...
修改Serialize函数实现数据存储:
void CBubbleUpDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
ar<<m_Bubble;
for (int i=0;i<m_Bubble;i++)
ar << BubbleRect[i];
for (i=0;i<m_Bubble;i++)
ar << BubbleColor[i];
}
else
{
// TODO: add loading code here
ar>>m_Bubble;
for (int i=0;i<m_Bubble;i++)
ar >> BubbleRect[i];
for (i=0;i<m_Bubble;i++)
ar >> BubbleColor[i];
}
}
修改OnDraw函数:
void CBubbleUpView::OnDraw(CDC* pDC)
{
CBubbleUpDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBrush BrushNew[MAX],*BrushOld;
CPen PenNew,*PenOld;
PenNew.CreatePen(0,