我正在尝试在打印机上打印Unicode(中文)字符串(实际上是PDFCreator),但我得到的只是字符的垂直打印。
我使用从TextOutW
导入的gdi32.dll
函数:
TextOutW dest.hDC, x, y, StrConv(szText, vbUnicode), Len(szText)
如果我尝试打印“0.12”(如果我打印中文字符,我得到相同的结果),我得到了
0
.
1
2
如果我使用dest.Print
功能,我将无法打印Unicode。
无论如何,TextOutW
在屏幕上非常精彩。
任何人都可以帮我解决这个问题吗?
答案 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)
Declare
TextOutW
有ByVal lpStringU As Long