vc++的MSComm串口通信,把接受的数据用曲线显示,picture控件画图解决方法

vc++的MSComm串口通信,把接受的数据用曲线显示,picture控件画图
void CAIDlg::huatu()  //画线

 long x,y;//坐标
  CWnd *pWnd=GetDlgItem(IDC_picture);//建立画笔
  CRect rect;
  pWnd->GetClientRect(rect);
  CDC *pDC=pWnd->GetDC();
  CPen *PNewPen=new CPen;
  PNewPen->CreatePen(PS_SOLID,1,RGB(255,0,0));//设置线型及颜色
  CPen *POLDPen=pDC->SelectObject(PNewPen);
   pDC->MoveTo(rect.left,rect.bottom-10);//起始点
  for(int i=1;i<=num-1;i++)
  {   x=rect.left+6*i;
     y=rect.bottom-10-10*(int)(data[i]/60.0*rect.Height());  
      pDC->LineTo(x,y);//画线
  if(x>rect.Width()-20)//确定画线区域
  { renew(); pDC->MoveTo(rect.left,rect.bottom-5);}
  } 
  pDC->SelectObject(POLDPen);
  delete PNewPen;
}
上面是我自己编的一些代码,以及网上看的一些,就是有一个地方不太懂,各位能不能指导一下?
for(int i=1;i<=num-1;i++)
  {   x=rect.left+6*i;
     y=rect.bottom-10-10*(int)(data[i]/60.0*rect.Height());  
      pDC->LineTo(x,y);//画线
  if(x>rect.Width()-20)//确定画线区域
  { renew(); pDC->MoveTo(rect.left,rect.bottom-5);}
  } 
就是这句 y=rect.bottom-10-10*(int)(data[i]/60.0*rect.Height()); 为什么要除以60.0,??又要乘以rect.Height(),??rect.Height()是指picture控件的高度还是指别的什么??又要在前面乘以10.??
那如果我想把坐标轴刻上刻度,怎么才能与得到的数据相对应了??
VC++ MSComm 串口通信 实时曲线 坐标

------解决方案--------------------
就是这句 y=rect.bottom-10-10*(int)(data[i]/60.0*rect.Height()); 为什么要除以60.0,??又要乘以rect.Height(),??rect.Height()是指picture控件的高度还是指别的什么??又要在前面乘以10.??
那如果我想把坐标轴刻上刻度,怎么才能与得到的数据相对应了??
VC++MSComm串口通信实时曲线坐标
--------
应该是量程是6 除以60和乘以10是提高精度0.1
------解决方案--------------------
画图的话,推荐本人的一个工具。
http://blog.csdn.net/baita96/