Re: 縦書き文字印刷について!


[コメントツリー表示を見る] [発言時刻順表示を見る]

Posted by Uz on 2001/08/19 10:25:43

In Reply to: 縦書き文字印刷について! Posted by kataakira on 2001/08/19 10:00:21


    > テキスト”あいうえお”が放射円状態に印刷されてしまいます。
    > どなたか、解決方法ご存知ないでしょうか。
    > よろしく、おねがいいたします。

    ソース見て360度回転させている部分を修正すれば、簡単に
    できるはずですよ。
    ソースをよく読んで、どういう処理をどういう風にしているのか
    をちゃんと解析してからお使いください。


    Private Sub Command2_Click()
    Dim hFont As Long
    Dim hFontOld As Long
    Dim hDC As Long
    Dim I As Long
    Dim X As Long
    Dim Y As Long
    Dim nTwipsPerPixelY As Long

    Dim FontHeight As Long
    Dim FontName As String

    FontHeight = 32
    FontName = Me.Font.Name

    #If PRN = 1 Then
    hDC = Printer.hDC
    Printer.Print " "
    X = Printer.ScaleWidth / 2 / Printer.TwipsPerPixelX
    Y = Printer.ScaleHeight / 2 / Printer.TwipsPerPixelY
    nTwipsPerPixelY = Printer.TwipsPerPixelY
    #Else
    hDC = Me.hDC
    X = Me.ScaleWidth / 2 / Screen.TwipsPerPixelX
    Y = Me.ScaleHeight / 2 / Screen.TwipsPerPixelY
    nTwipsPerPixelY = Screen.TwipsPerPixelY
    #End If

    hFont = CreateFont(-(FontHeight * 20 / nTwipsPerPixelY), _
    0, _
    2700, _
    2700, _
    0, _
    False, _
    False, _
    False, _
    DEFAULT_CHARSET, _
    False, _
    False, _
    False, _
    False, _
    "@" & FontName)

    hFontOld = SelectObject(hDC, hFont)

    Call TextOut(hDC, X, Y, "あいうえお", 10)
    Call SelectObject(hDC, hFontOld)

    Call DeleteObject(hFont)

    #If PRN = 1 Then
    Call Printer.EndDoc
    #End If

    End Sub


記事スレッド一覧