1.如何把一个文本文件分别装入几个textbox中(文字要连续且每个textbox都要装满。)?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
在下面的基础上改吧,问题2和这个一样
Private Sub cmdLoad_Click()
    Dim nLen As Long
    Dim nTotal As Long
    Dim cChar As String * 1
    Dim i As Integer
    Dim j As Integer
    nLen = 0
    nTotal = 0
    Open "c:\test.txt" For Input As #1
    For i = 0 To 100
        nLen = GetTextboxSize(Text1(i))
        For j = 0 To nLen - 1
            If EOF(1) Then
                Close #1
                Exit Sub
            Else
                Input #1, cChar
                Text1(i).Text = Text1(i).Text & cChar
                nTotal = nTotal + 1
            End If
        Next
    Next
End SubPrivate Function GetTextboxSize(txt As TextBox) As Long
    Dim nLines As Integer
    Dim nWords As Integer
    
    txt.FontName = "Fixedsys"
    nLines = Fix(txt.Height / (15 * txt.Font.Size))
    nWords = Fix(txt.Width / (15 * txt.Font.Size))
    
    GetTextboxSize = nLines * nWords
End Function2.一个textbox装入了一个完整的文本文件,假设这个textbox没有滚动条,而这个textbox并没有显示完整个文本文件,如何把textbox中包括显示的和未显示的文本分别Copy到几个picturebox中(文字要连续)?

解决方案 »

  1.   

    from ADO设置文件格式为text文件
      

  2.   

    给你一段代码,应该可以解决你的主要问题。在窗体上有一个隐藏的Label控件和任意的Textbox控件。
    留意GetMaxVisibleStr()函数.Private Sub Command1_Click()
      Text1.Text = GetMaxVisibleStr(Text1, Text2.Text)
      Debug.Print Text1.Text
    End SubPublic Function GetMaxVisibleStr(TheText As TextBox, _
      TheStr As String) As String
      
      Dim i As Long
      
      Label1.BorderStyle = Text1.BorderStyle
      For i = 1 To Len(TheStr)
        With Label1
          .Caption = Left(TheStr, i)
          If .Width > TheText.Width Then
            GetMaxVisibleStr = Left(TheStr, i - 1)
            Exit Function
          End If
        End With
      Next i  GetMaxVisibleStr = TheStrEnd Function
      

  3.   

    (上面贴子的代码有错,这里是修正后的代码)
    给你一段代码,应该可以解决你的主要问题。在窗体上有一个隐藏的Label控件和任意的Textbox控件。
    留意GetMaxVisibleStr()函数.Private Sub Command1_Click()
      Text1.Text = GetMaxVisibleStr(Text1, Text2.Text)
      Debug.Print Text1.Text
    End SubPublic Function GetMaxVisibleStr(TheText As TextBox, _
      TheStr As String) As String
      
      Dim i As Long
      
      With Label1
        .BorderStyle = TheText.BorderStyle
        .Font = TheText.Font
            
        For i = 1 To Len(TheStr)
          .Caption = Left(TheStr, i)
          If .Width > TheText.Width Then
            GetMaxVisibleStr = Left(TheStr, i - 1)
            Exit Function
          End If
        Next i
      End With
      
      GetMaxVisibleStr = TheStrEnd Function
      

  4.   

    question No.2
    是不是用API函数中的bitblt函数?