vb print 换行
vb中,我想只用一个print在窗体上输出一串字符,但由于字符较多且是连续的,我不想用多个print词句换行,请问有没有什么方法能字符串自动换行...
vb 中,我想只用一个print在窗体上输出一串字符,但由于字符较多且是连续的,我不想用多个print词句换行,请问有没有什么方法能字符串自动换行
展开
4个回答
展开全部
干嘛不用标签控件显示呢,它可以设置自动换行功能,设置wordwrap属性为true。
当然输出函数有是有,是api函数,好像是textout 或drawtext。
Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As Rect, ByVal wFormat As Long) As Long
Private Type Rect
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Const DT_NOCLIP = &H100
Private Const DT_WORDBREAK = &H10
Private Sub Command1_Click()
Dim text As String
text = "vb 中,我想只用一个print在窗体上输出一串字符,但由于字符较多且是连续的,我不想用多个print词句换行,请问有没有什么方法能字符串自动换行"
Dim Rect As Rect
Rect.Left = 0
Rect.Top = 0
Rect.Right = 200
Rect.Bottom = 200
DrawText Me.hdc, text, -1, Rect, DT_WORDBREAK Or DT_NOCLIP
End Sub
在窗体中加一个按钮
展开全部
字符串自动换行啊,这可比加一个 print要麻烦! 至少写一个方法
Sub auto_print(s As String)
Dim tems As String, tem_start As Long, i As Long
tem_start = 1
For i = 1 To Len(s)
tems = Mid(s, tem_start, i - tem_start + 1)
If Me.TextWidth(tems) > Me.Width - 60 Then
tems = Mid(s, tem_start, i - tem_start)
Print tems
tems = ""
tem_start = i
End If
Next
If tems <> "" Then Print tems
End Sub
Private Sub Form_Resize()
Me.Cls
auto_print "在变换窗口大小的时候自动调整换行超出的文本,是本过程的本意!可以试试"
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-29
展开全部
如是print 输出a,b到窗体就可以直接添加代码:
一行显示 print a , b
两行显示如下
print a, vbNewLine & b'输出a后换行输出b
如果是textbox,先要把TextBox的Multiline属性改为True(必须在属性窗口中改,不能用代码)
再添加换行的代码:方法为 内容&vbcrlf(或者&vbnewline)
一行显示 print a , b
两行显示如下
print a, vbNewLine & b'输出a后换行输出b
如果是textbox,先要把TextBox的Multiline属性改为True(必须在属性窗口中改,不能用代码)
再添加换行的代码:方法为 内容&vbcrlf(或者&vbnewline)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用VB的vbcrlf 比如 Print "a" & vbCrLf & "b"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询