希望大家帮忙,能帮我找出错误呀!!!!!!!!!!!!!
望实现的功能为:
先在图片内打出若干个点。
再在鼠标移动到点的上面的时候会显示点的相关信息。
有的控件为:
一个窗体控件,叫Form1
一个图片框控件,叫a
一个按钮控件,叫command1,用来按下去时打点用
还有一个按钮控件,叫qq,用来显示在鼠标移动时的信息
代码如下:
这是图片框控件的MouseMove事件代码:
Private Sub a_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReDim Preserve x_lzh(7)
ReDim Preserve y_lzh(7)
ReDim Preserve point_lzh(7)
For i = 0 To 6
If Abs(X - x_lzh(i)) < 1 Then
For j = 0 To 6
If Abs(Y - y_lzh(j)) < 1 Then
qq.Left = X
qq.Top = Y
qq.Caption = "X=" & x_lzh(i) & Chr(13) & "Y=" & y_lzh(i)
qq.ZOrder (0)
qq.Visible = True
Else
qq.Visible = False
End If
Next
Else
qq.Visible = False
End If
Next
End Sub
这是用来打点的按钮控件的代码:
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
ReDim x_lzh(7)
ReDim y_lzh(7)
ReDim point_lzh(7)
a.Scale (0, 100)-(100, 0)
a.ForeColor = vbGreen
a.DrawWidth = 4
j = 0
For i = 20 To 80 Step 10
a.PSet (i, 50)
x_lzh(j) = i
y_lzh(j) = 50
point_lzh(j) = 50
j = j + 1
Next
End Sub
这是窗体的载入时的代码:
Private Sub Form_Load()
Form1.Scale (0, 100)-(100, 0)
End Sub
这是通用模块的代码:
Global x_lzh()
Global y_lzh()
Global point_lzh()
以上的程序工作是正常的。画图的按钮在按下了以后会在如下的7个坐标上打点:
(20,50),(30,50),(40,50),(50,50),
(60,50),(70,50),(80,50)
并且移动鼠标到点的上面的时候是能显示点的坐标信息的。
!!!!!现在的问题是:!!!!!
如果把用来显示坐标信息的按钮控件更换成label控件的话(名字还是叫qq,代码不变,由于label也有caption属性),就只能在(80,50)这一个点上有提示信息,其余的6个点没有!!!?????我实在是弄不懂呀!!???
望得到大家的指点,谢谢大家了!