在VB6中的PRINTER上进行Unicode打印

时间:2012-11-22 15:17:42

标签: unicode printing vb6 cjk

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

我使用从TextOutW导入的gdi32.dll函数:

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

如果我尝试打印“0.12”(如果我打印中文字符,我得到相同的结果),我得到了

0
.
1
2

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

无论如何,TextOutW在屏幕上非常精彩。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分: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)
  • {li> Declare TextOutWByVal lpStringU As Long