vb Picture1显示串位
Picture1.ClsPicture1.AutoRedraw=TrueForit=2ToMSFlexGrid1.Rows-1s=MSFlexGrid1.TextMatr...
Picture1.Cls
Picture1.AutoRedraw = True
For it = 2 To MSFlexGrid1.Rows - 1
s = MSFlexGrid1.TextMatrix(it - 1, 6)
m = MSFlexGrid1.TextMatrix(it, 6)
Picture1.Scale (0, 10)-(MSFlexGrid1.Rows, 0)
Picture1.ForeColor = vbRed
Picture1.Line (it - 1, Val(s))-(it, Val(m))
Picture1.CurrentX = it - 1
Picture1.CurrentY = Val(m + 1)
Picture1.Print Val(m)
Next
这段语句,现在显示是正常的(100行数据),可是一旦it的数值变小到一定程度时,那么Picture1.Print Val(m)将串位
如现在我只有两行数据,数据分别是3和5,那么显示为3至5画了一条线,可是5这个数却在画线3的地方,就是向后串
如果我调整成Picture1.CurrentX = it ,那么数据多了时Picture1.Print Val(m),又向前串了,比如数据到100了,那么99这个数显示到了100这个位置
怎么能调整到xy点的正上方呢
那位老师给帮帮忙,或许有另外一种写法也行 展开
Picture1.AutoRedraw = True
For it = 2 To MSFlexGrid1.Rows - 1
s = MSFlexGrid1.TextMatrix(it - 1, 6)
m = MSFlexGrid1.TextMatrix(it, 6)
Picture1.Scale (0, 10)-(MSFlexGrid1.Rows, 0)
Picture1.ForeColor = vbRed
Picture1.Line (it - 1, Val(s))-(it, Val(m))
Picture1.CurrentX = it - 1
Picture1.CurrentY = Val(m + 1)
Picture1.Print Val(m)
Next
这段语句,现在显示是正常的(100行数据),可是一旦it的数值变小到一定程度时,那么Picture1.Print Val(m)将串位
如现在我只有两行数据,数据分别是3和5,那么显示为3至5画了一条线,可是5这个数却在画线3的地方,就是向后串
如果我调整成Picture1.CurrentX = it ,那么数据多了时Picture1.Print Val(m),又向前串了,比如数据到100了,那么99这个数显示到了100这个位置
怎么能调整到xy点的正上方呢
那位老师给帮帮忙,或许有另外一种写法也行 展开
1个回答
2009-01-13
展开全部
Private Sub cmdCommand1_Click()
Picture1.Cls
Picture1.AutoRedraw = True
For it = 1 To 2 'MSFlexGrid1.Rows - 1
s = MSFlexGrid1.TextMatrix(it, 1)
m = MSFlexGrid1.TextMatrix(it, 1)
Picture1.Scale (0, 10)-(MSFlexGrid1.Rows, 0)
Picture1.ForeColor = vbRed
Picture1.Line (it, Val(s))-(it + 1, Val(m))
Picture1.CurrentX = it - 1
Picture1.CurrentY = Val(m + 1)
Picture1.Print Val(m)
Next
End Sub
Private Sub Form_Load()
MSFlexGrid1.TextMatrix(1, 1) = "3"
MSFlexGrid1.TextMatrix(2, 1) = "5"
End Sub
不知道你想干嘛 随便改改~ 你最好把你想要的结果画出来~
Picture1.Cls
Picture1.AutoRedraw = True
For it = 1 To 2 'MSFlexGrid1.Rows - 1
s = MSFlexGrid1.TextMatrix(it, 1)
m = MSFlexGrid1.TextMatrix(it, 1)
Picture1.Scale (0, 10)-(MSFlexGrid1.Rows, 0)
Picture1.ForeColor = vbRed
Picture1.Line (it, Val(s))-(it + 1, Val(m))
Picture1.CurrentX = it - 1
Picture1.CurrentY = Val(m + 1)
Picture1.Print Val(m)
Next
End Sub
Private Sub Form_Load()
MSFlexGrid1.TextMatrix(1, 1) = "3"
MSFlexGrid1.TextMatrix(2, 1) = "5"
End Sub
不知道你想干嘛 随便改改~ 你最好把你想要的结果画出来~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询