sub VerticalPrint(ByVal nStr As String)
Dim I As Integer
dim tmpX as single
tmpx=printer.currentx
        For I = 1 To Len(nStr)
          printer.currentx=tmpx
          printer.print mid(nstr,i,1)
        Next I
End Function

解决方案 »

  1.   

    你这样写代码当然不能达到希望的形式了,因为你只是简单的回车换行。
    你可以参看如下代码:
    Function VerticalPrint(ByVal nStr As String, ByVal i As Integer) As String
        VerticalPrint = Mid(nStr, i, 1)
    End FunctionPrivate Sub Command1_Click()
        Dim St As String
    Dim i As Long   '循环变量    St = "我是中国人"  '比如是打印"我们都是中国人"
        
       
    For i = 1 To Len(St)
        Picture1.CurrentX = Picture1.Width / 2
        Picture1.CurrentY = Picture1.Height / 4 + Picture1.TextHeight("我") * i
        Picture1.Print VerticalPrint(St, i)
    Next i
    End Sub
      

  2.   

    改为Private Sub command1_click()
        Dim St As String
        St = "我是中国人"  '比如是打印"我们都是中国人"
        Picture1.CurrentY = Picture1.Height / 4
        Dim I As Integer
        For I = 1 To Len(St)
            Picture1.CurrentX = Picture1.Width / 2
            Picture1.Print Mid$(St, I, 1)
        Next I
    End Sub已通过测试
      

  3.   

    向大家推荐我的控件:http://www.csdn.net/cnshare/soft/12/12442.shtm