0

我正在尝试在打印机(好吧,实际上是 PDFCreator)上打印 Unicode(中文)字符串,但我得到的只是字符的 VERTICAL 打印。

我使用从以下TextOutW位置导入的函数gdi32.dll

TextOutW dest.hDC, x, y, StrConv(szText, vbUnicode), Len(szText)

如果我尝试打印“0.12”(如果我打印汉字,无论如何我都会得到相同的结果),我得到

0
.
1
2

如果我使用该dest.Print功能,我将无法打印 Unicode。

无论如何,TextOutW在屏幕上工作得非常好。

谁能帮我解决这个问题?

4

1 回答 1

1

的定义是szText什么?它是VB6字符串吗?在这种情况下尝试

Private Declare Function  Lib "gdi32" Alias "TextOutW" ( _
  ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _
  ByVal lpStringU As Long, ByVal nCount As Long) As Long  

TextOutW dest.hDC, x, y, StrPtr(szText), Len(szText) 

笔记

  • StrPtr不是StrConv(... , vbUnicode)
  • Declare因为TextOutWByVal lpStringU As Long
于 2012-11-22T17:06:43.403 回答