求助:关于picture1.CurrentX的问题

egxsun 2003-09-30 08:49:40
我用数组事先设好值,比如
str(0) = "00"
str(1) = "11"
str(2) = "22hftyr"
str(3) = "333"
str(4) = "4444"
str(5) = "55555"
str(6) = "666666"
str(7) = "7777777urtuyrtur"
str(8) = "88888888"
str(9) = "999999999"
然后用
For j = 0 To 9
ii = Picture1.TextWidth(str(j))
Picture1.CurrentX = (Picture1.ScaleWidth - ii) / 2
Picture1.CurrentY = Picture1.CurrentY + 1
Picture1.Print str(j)
Next
可以控制字符在中间打印出来,但是我用text1文本框(可以多行)输入,然后用
str = Split(Text1.Text, Chr(13))取到str()数组里,再用像上面的循环打印
可是只有第一行是在中间打印出来,其他行都在最左边开始打印,不知道为什么?请哪位帮帮我!
...全文
298 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fearfulness 2003-09-30
  • 打赏
  • 举报
回复
textbox里面得换行是Chr(10) & Chr(13) 因此你应该将str = Split(Text1.Text, Chr(13))改为str = Split(Text1.Text, Chr(13) & chr(10))
射天狼 2003-09-30
  • 打赏
  • 举报
回复
Option Explicit

Private Sub Command1_Click()
Dim Str() As String, j As Long, ii As Long

Str = Split(Text1.Text, vbCrLf)
For j = 0 To UBound(Str)
ii = Picture1.TextWidth(Str(j))
Picture1.CurrentX = (Picture1.ScaleWidth - ii) / 2
Picture1.CurrentY = Picture1.CurrentY + 1
Picture1.Print Str(j)
Next

End Sub

我用的就是你说的方法,可以打印到中间啊~~
LichKingSZ 2003-09-30
  • 打赏
  • 举报
回复
str = Split(Text1.Text, vbcrlf)
射天狼 2003-09-30
  • 打赏
  • 举报
回复
首先用print方法无法实现打印回车,另外,每打一个字条款都要设定打印的位置.

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧