设计的程序之前是自主刷新,现在想改成通过滚动条来控制刷新的速度。应该怎么改?以下是部分代码:
滚动条响应函数
void CCalcuView::OnCustomdrawSliderTime(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_speed=m_SliderTime.GetPos();
UpdateData(FALSE);
*pResult = 0;
}
计时器响应函数(已知rect是全局变量并已经过初始化)
void CCalcuView::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call defaul
InvalidateRect(&rect);
CFormView::OnTimer(nIDEvent);
}
绘制曲线函数
UINT CCalcuView::WaveReadCalcu(LPVOID lpParam)
{
for (i =0 ;i < num; i++)
{
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;
//将视图区域绘制到位图上
BitBlt(pDlg->m_dcMemory, 0, 0, 600, 600, pDlg->pDC, 610, 105, SRCCOPY);
pDlg->InvalidateRect(pDlg->rect);
}