如何使用以下代码来完成这样一个功能:在绘制动态曲线的过程中,点击暂停按钮时,屏幕上必须有完整的动态曲线图,点击继续按钮时,动态曲线继续绘制。
int m_nCurrentIndex; // 当前绘制到的点的索引
void CYourDialog::OnPause()
{
m_bIsPaused = true;
// 保存当前状态
SaveDrawingState();
}
void CYourDialog::ResumeDrawing()
{
// 从保存的状态恢复
RestoreDrawingState();
while (!m_bIsPaused) // 继续绘制
{
// 绘制代码,从m_nCurrentIndex开始
}
}
for (int i =0 ;i < num && !m_bIsPaused; i++)
{
if(m_bIsPaused)
{
//暂停显示完整曲线图
break;
}
dc.SetViewportOrg(610,180);
dc.MoveTo(0,0);
// 创建一个点数组来存储所有点
CPoint* points = new CPoint[200];
for(int j = 0; j < 200; j++)
{
points[j] = CPoint(j, -(pDoc->CAL[j] - 128));
}
// 使用Polyline一次性绘制所有点
dc.Polyline(points, 200);
// 释放内存
delete[] points;
//继续进行曲线的绘制...
}