過去ログを検索してみるとTextOutWという関数を使うと出来ると
あったんですが、以下のようにしても出ません・・・(^_^;)
初歩的なことでお恥ずかしいのですが、教えてください。
33A5ってコードを指定するのが違うんでしょうか?立方メートルなんですが・・
Option Explicit
Dim B() As Byte
Dim S As String
Dim R As Long
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
Sub AAA()
S = "33A5"
B = S
R = TextOutW(Printer.hDC, 10, 10, B(0), Len(S))
End Sub
> 33A5ってコードを指定するのが違うんでしょうか?
上記のコードを生かすなら、
S = ChrW(&H33A5)
のようになるかと。
> S = "33A5"
これだと、 「33A5というコードの文字」ではなく、
「33A5という文字列」が出力されてしまいますよね。
ありがとうございます。解決しました。(^_^;)
ホントに初歩的な抜けでした・・お恥ずかしいです。
あらっっ・・
FormのPictureBoxには表示されるのに
デバイスにPrinterを指定すると何も出てこない・・
うむ〜〜っわからない・・
すみません、教えていただけませんでしょうか・・<(_ _)>
DeviceオブジェクトはオプションボタンでFormのPictureBoxと
Printerを切り替えています。
Option Explicit
Dim S As String
Dim R As Long
Dim b() As Byte
Public Device As Object
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
Sub TEST()
S = ChrW("&H" & unicodeprint1.Text1)
b = S
Device.FontSize = 350
Device.FontName = "Arial Unicode MS"
R = TextOutW(Device.hDC, 1, -80, b(0), Len(S))
End Sub