⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何打印多行的文本框.txt

📁 VB技巧问答10000例,是一个教程
💻 TXT
字号:
Printer.Print不 会 自 动 换 行 , 而 且 当 每 次 从 新 行 打 印 时 , 都 是 从 最 左 端 开 始 , 而 我 们 通 常 希 望 左 侧 保 留 一 些 空 白 地 方 。 下 面 的 程 序 可 以 简 单 地 介 绍 一 下 原 理 : 
    Private Sub Command1_Click() 
     Dim s As String, sLine As String 
     
     Printer.CurrentY = 150 
     s = Text1.Text 
     pos = InStr(s, vbCrLf) 
     Do While pos > 0 
     sLine = Left(s, pos - 1) 
     s = Mid(s, pos + 2) 
     PrintSingleLine Trim(sLine), 100, 50 
     pos = InStr(s, vbCrLf) 
     Loop 
     PrintSingleLine Trim(s), 100, 50 
    End Sub 
    分 行 有 两 种 , 一 种 是 使 用 回 车 换 行 , 另 一 种 是 一 行 太 长 了 。 上 面 这 段 程 序 就 是 按 照 回 车 换 行 把 文 字 分 成 多 个 段 。 然 后 对 每 个 段 都 调 用 PrintSingleLine进 行 打 印 。 PrintSingleLine的 第 一 个 参 数 为 文 字 , 第 二 个 参 数 为 每 行 的 左 侧 的 坐 标 , 第 三 个 参 数 表 示 一 行 可 以 打 印 多 少 字 符 。 该 函 数 如 下 : 
    Sub PrintSingleLine(s As String, X As Long, n As Integer) 
     Dim nLines As Integer 
     
     nLines = Len(s) / n 
     If Len(s) > n * nLines Then nLines = nLines + 1 
     If Len(s) = 0 Then nLines = 1 ' 空 行 
     For i = 0 To nLines - 1 
     Printer.CurrentX = X 
     Printer.Print Mid(s, i * n + 1, n) 
     Next 
    End Sub 
    在 这 里 , 我 们 计 算 一 段 文 字 可 以 打 印 多 少 行 , 然 后 用 程 序 分 行 打 印 。 
    当 然 , 我 们 这 里 的 函 数 比 较 简 单 , 只 能 用 于 全 部 是 汉 字 或 全 部 是 英 文 的 情 况 , 如 果 是 中 英 文 混 排 的 情 况 。 
<END>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -