|
我在LIST控件上绘制曲线,曲线两部分组成,一是坐标,二是曲线,
创建相应缓冲区
if (m_tmpDC.GetSafeHdc() == NULL)
{
m_tmpDC.CreateCompatibleDC(&dc);
// m_tmpBmp.CreateCompatibleBitmap(&dc,rectClient.Width()+mm*60,rectClient.Height());
m_tmpBmp.CreateCompatibleBitmap(&dc,2000,rectClient1.Height());
m_tmpDC.SelectObject(&m_tmpBmp);
}
//设置背景颜色
m_tmpDC.SetBkMode(TRANSPARENT);
m_tmpDC.SetBkColor(m_crBackColor);
m_tmpDC.FillRect(rectClient1,&brushBack);
曲线数据是通过串口采集得到,这样时间一长必定会是rectClient1区域不够就可能有些曲线画出来也看不见,
问题:
1,如果把rectClient1设置的比较大,绘图时反应比较慢
2,怎么实现总是把当前的曲线显示在图形上
,我想达到的效果是,在绘图区域总是绘制当前采集的数据,以前的曲线往左推移,提供按钮需要的时候按向右的按钮可以看以前的曲线 |
|