Dim Sample As String * 3
Private Sub Form_Click()
For i = 1 To 100
Sample = CStr(i)
Call S(Sample)
Print i
Next
End SubSub S(i As String)
If TextHeight(i) + CurrentY >= ScaleHeight Then
   CurrentX = CurrentX + 100
   CurrentY = 0
End If
End Sub重叠了!如何处理?

解决方案 »

  1.   

    加个分号
    Print i ;
      

  2.   

    也可CurrentY = 0 改为 CurrentY = CurrentY + 50
      

  3.   

    Dim Sample As String
    Dim x As Long
    Private Sub Form_Click()
    For i = 1 To 100
        Sample = CStr(i)
        Call S(Sample)
        CurrentX = x
        Print i
    Next
    End SubSub S(i As String)
    If TextHeight(i) + CurrentY >= ScaleHeight Then
      x = x + 300
      CurrentY = 0
    End If
    End Sub
      

  4.   

    Print i ; 
    或者去掉CurrentY = 0 就可以了
      

  5.   

    Option ExplicitDim Sample As String * 3
    Dim x As LongPrivate Sub Form_Click()
        Dim i As Long
        x = 0
        For i = 1 To 100
            Sample = CStr(i)
            Call S(Sample)
            Print i
        Next
    End SubSub S(i As String)
        If TextHeight(i) + CurrentY >= ScaleHeight Then
            x = x + TextWidth(i) + 120
            CurrentY = 0
        End If
        CurrentX = x
    End Sub