各位高手帮我看看程序,谢谢

mary00532   2007-7-6 13:22 楼主
EVC下写的一个正弦曲线程序,现在程序能运行,就是每条曲线显示后会留下一些点,所以,程序运行一会,屏幕上点越来越多,很煞风景!
能否添加代码使画一条新的曲线前清空屏幕上所有的点,这个问题,大家帮帮我,拜托各位咯,超级谢谢++
代码:
void CDraw2DGraphDlg::OnTimer(UINT nIDEvent)
{
        double CalcSin(double dDeg);
        // TODO: Add your message handler code here and/or call default
        double nRandomY, nRandomX;
        double x,y;
        nRandomX = x;
        nRandomY = y;
       
        for(double i = 0;i <= 10;i++)
        {

                nRandomX = i;
                int k = rand() % 40;        //k的值是0到25的随机数
               
                double j;
                int temp = nRandomX/CalcSin(k);    //类型转换
                j = temp % 11;              //j不会大于10
                nRandomY = j;               //保证点的nRandomY值不会大于10越界
               
               
                //给曲线添加点
                m_2DGraph.AppendPoint(nRandomX, nRandomY);

                m_pointCount++;
                //如果曲线点数大于11个点,则删除第一个点
                if(m_pointCount > 11)
                {
                        m_2DGraph.DeleteFirstPoint();
                       
                        m_pointCount--;
                }
               
                x = nRandomX;
                y = nRandomY;
        }
        if(m_pointCount > 11)
        {
                for(i = 1;i < m_pointCount;i++)
                {
                        m_2DGraph.DeleteTempMap;
                }
        }

        /////////////////////////////////////
        CDialog::OnTimer(nIDEvent);
       
}

回复评论 (1)

问题进一步查证,是因为之前声明的类没有清除线那一选项,如果想添加的话应该怎么做?  谢谢大家,帮帮忙啦
点赞  2007-7-8 10:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复