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中(文字要连续)?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
在下面的基础上改吧,问题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中(文字要连续)?
留意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
给你一段代码,应该可以解决你的主要问题。在窗体上有一个隐藏的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
是不是用API函数中的bitblt函数?