我是一个VC++的初学者,现在要用vc++做一个界面来控制电机变频调速,而且采集电机三相电流,速度等信号,然后通过PCI总线传给上位机,在上位机上用VC++做的界面显示这些信号波形,请问如何显示?我现在连怎么画坐标轴还不会呢。请各位大虾帮帮忙,最好能给些例子我看看,谢谢!!!

解决方案 »

  1.   

    兄弟,按照你的要求,我觉得你最好找一个控件来实现比较好,你要动态显示这么多参数,使用VC本身的绘图,是比较麻烦的,给你推荐component one 的chart2d控件或者mschart控件!
      

  2.   

    haha,我们在学校的时候也做过那个实验。
    画坐标:用CDC的Lineto,MoveTo等函数就可以
    画点可以用:SetPixel随着时间的推移,曲线要后移的话,可以把需要的点的数据记录下来
      

  3.   

    重要的是DC,你要是对WINDOWS的DC有了解了自然不会问这样的问题了,MFC中被包装成了CDC.再在百度搜搜WM_PAINT消息和OnDraw函数的资料.如果连坐标轴都不会画那可还真的有很多要学的,不过应该会DOS下图形吧.
    总之Windows的绘图一定是在窗口中,所以绘图函数一定要你指定窗口,这就通过一个DC的句柄,当然这句柄标示的不仅仅在哪个窗口画图.还有颜色等等,一般绘图步骤如下:
    HDC hdc=GetDC(hwnd);   //hwnd怎么获得应该知道吧
    ....                  //一系列使用了hdc的绘图函数,如LineTo,MoveTo,Rectangle等等
    ....
    ....
    ReleaseDC(hwnd,hdc);   //最后再释放上面的DC
    另外MFC的CDC类是有对这些包装过的.下面可以下到我的一个半调子的测试工程,VS2005工程.是一个波形显示窗口.乱了点,但或者你可以参考一下.
    http://download.csdn.net/source/545671
      

  4.   

    就是多个moveto lineto
    我现在的工作主要就是搞这个,所以很熟悉
      

  5.   

    查看一些GDI画图的资料,就可以实现。
      

  6.   

    双缓冲+cdc,不然会闪烁无比。