VB6.0で中国語の文字を印刷したいのですが、
普通に印刷すると特有文字は"?"に化けてしまいます。
過去ログでもあったのですが、UnicodeをTextoutWのAPIを
使用して印刷しようとしています。
Private Declare Function TextOutW Lib "GDI32.DLL" (ByVal hDC As Long, _
ByVal nXStart As Long, ByVal nYStart As Long, lpString As Byte, _
ByVal cbString As Long) As Long
Function TextOut (obj As Object, x As Long, y As Long, s As String) As Long
Dim b() As Byte
b = s
TextOut = TextOutW(obj.hDC, x, y, b(0), Len(s))
End Function
で印刷を実行しています。
1.objをピクチャボックスに割り当てると表示されるのですが
Printerにすると、Enddocしても印刷が実行されません。
苦肉の策で、最初にNEWPAGEをいれると印刷されるのですが
白紙1枚とUnicode変換されたのが1枚と2枚印刷されてしまいます。
TextoutWを使用せずPrinter.Printを使用すれば
正常に印刷されます。
印刷できない理由があるのでしょうか?
プリンター接続はTCP/IP接続です。
2. プリンタ ピクチャボックスを共に".ScaleMode=6(ミリ単位)"に
しているんですが表示、印刷すると、文字ピッチが全く異なるのですが
何か間違っているのでしょうか?
初心者で変な質問で申し訳ありません。
ご教授よろしくお願いします。
TextOut する前に、 該当する Printer オブジェクトで、
Printer.Print " "
とかするとどうなります?
まぁ、VB6の Printer オブジェクトにはいろいろ問題がありますので、
難しいところではあります。
http://support.microsoft.com/kb/412851/ja
K.J.Kさんありがとうございます。
Printer.Print""で印字することが出来ました。
お手数おかけしました。