马上就要交毕业设计了,可是碰到一个超级大的问题.
    我做的一个是工控的数据采集的软件,用VB做的.现在要生成一个曲线图,就像走势图一样.我写的代码如下:
    一个form上加了一个picture控件,里面再嵌一个shape控件
    
Public Sub Form_Load()
Dim tp1(600) As Integer
Dim n As Integer
For n = 0 To 600
tp1(n) = n
Next n
End Sub
Public Sub test2()
Dim x0, y0, h, w
Dim i As Integer
    x0 = Shape1.Left
    y0 = Shape1.Top + Shape1.Height
    h = Shape1.Height / 1
    w = Shape1.Width / 300
    Picture1.ForeColor = QBColor(1)
    Picture1.Cls
Y1 = Shape1.Height
For i = 0 To 600
Picture1.Line (x0 + i * w, y0 - tp1(i) * h)-(x0 + (i + 1) * w, y0 - tp1(i + 1, Q) * h)
Next
End Sub
 
call test2可就是不能显示,走势图,也不知道为什么.请各位老大指点.最好能给点代码参考一下.解决之后,即刻送分!在线等待!!!

解决方案 »

  1.   

    Mschart图的静态显示外观比较理想,但是每秒一次的数据更新使屏幕每秒钟都会引起由于重绘带来的闪烁,这大大降低了图形界面的可视性与美观性。由此可见,Mschart控件不太适用于绘制实时数据采集系统的相关曲线。
      

  2.   

    看你的图是画在picture 上,但为什么把shape控件来做为坐标,参照,这样你也可能把花的图给shape遮住了
      

  3.   

    我想用shape来做坐标,是因为想简单一点,让别人看的也方便一点我添加了一个Shape控件并选取该控件的矩形作为绘图范围,以该矩形的下边线为横坐标,左边线为纵坐标。由于速度范围5mm/s,控制时间为10分钟,因此我利用控件将左边线分为5格,每格代表速度最大测量范围的1/5,即1mm/s,将下边线分为10格,每格代表1分钟。
      

  4.   

    而且我shape的BackStyle的属性设的是Transparent
      

  5.   

    Option Explicit
    Dim tp1(600) As IntegerPublic Sub Form_Load()
    'Dim tp1(600) As Integer不能在这里声明
    Dim n As Integer
    For n = 0 To 600
    tp1(n) = n
    Next n
    End Sub
      

  6.   

    Y1 = Shape1.Height
    For i = 0 To 600
    Picture1.Line (x0 + i * w, y0 - tp1(i) * h)-(x0 + (i + 1) * w, y0 - tp1(i + 1, Q) * h)
    Next
    y1,tp1(i + 1, Q)什么意思
      

  7.   

    Dim tp1(599) As Integer
    Public Sub Form_Load()
    Dim n As Integer
    Picture1.ScaleMode = 0
    Picture1.ScaleHeight = -4 / 5 * 600
    Picture1.ScaleLeft = -1 / 10 * 600
    Picture1.ScaleTop = 3 / 5 * 600
    Picture1.ScaleWidth = 7 / 5 * 600
    Call DrawCoord     '画坐标轴
    For n = 0 To 599
    tp1(n) = n
    Next n
    End Sub
    Public Sub test2()Dim x0, y0, h, w
    Dim i As IntegerFor i = 0 To 599
            if i=0 then
    picture1.pset (i,tp1(i))
    else
    Picture1.Line (i-1, tp1(i-1))-(i , tp1(i))
    end if 
    Next
    End SubPrivate Sub DrawCoord()
    picture1.line (0,-600)-(0,600)
    picture1.line (-600,0)-(600,0)
    '还可以加刻度
    End Sub
      

  8.   

    是不是在picture1的属性上要设置点什么东西的啊?为什么我的图象上还是没有出现任何东西?真急啊!!!!!!!!
      

  9.   

    不必用Shape,直接画坐标轴就是了。
      

  10.   

    easypower(阿里巴巴) 的那段代码,我加了个事件后就触发出来了,可是......好像坐标系统没有了......