我有一个图片框,并在其中打印内容。我想知道以毫米为单位的确切文本宽度。但是我得到了错误的价值。这是我的代码

me.scalemode = vbmillimeters
picturebox.scalemode = vbmillimeters

picturebox.fontname = "Arial"
picturebox.fontsize = 12
debug.print textwidth("AB.C.D.E. FGHIJKLMN")


当我在纸张打印输出中进行测量时,它是48毫米
但显示32.97毫米

请帮我哪里错了。
提前致谢

最佳答案

如果需要在图片框上打印文本的宽度,请使用:

PictureBox.textwidth("AB.C.D.E. FGHIJKLMN")

您实际上在做什么:textwidth("AB.C.D.E. FGHIJKLMN")正在测量打印到窗体(Me)的相同文本。

这样可以减少错误的发生:

Dim TextWidth as Single
With PictureBox
  .ScaleMode = vbMillimeters
  .FontName = "Arial"
  .FontSize = 12
  TextWidth = .TextWidth("AB.C.D.E. FGHIJKLMN")
End With


因为如果您随后要切换到纸张,则还可以轻松切换上下文:

With SelectedPrinter....

关于vb6 - 无法以毫米为单位正确显示textwidth vb6,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43422853/

10-09 05:25