我想打印一个Unicode(中国)字符串的打印机上(当然,实际上的PDFCreator),但我得到的是字符的垂直打印。
我用的是TextOutW
进口功能gdi32.dll
:
TextOutW dest.hDC, x, y, StrConv(szText, vbUnicode), Len(szText)
如果我尝试打印“0.12”(如果我打印的字符中国,我得到了相同的结果反正),我得到
0
.
1
2
如果我使用dest.Print
功能,我无法打印的Unicode。
无论如何, TextOutW
奇妙的作品在屏幕上。
谁能帮我解决这个问题?
是什么的定义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