Last Updated 2005/11/02
Programming Tips Visual Basic 印刷  索 引 
印刷文字回転
2005/11/02

印刷文字を回転させるには CreateFontIndirect() を使用する.

Private Sub Form_MouseDown _
(Button As Integer, Shift As Integer, X As Single, Y As 
Single)
    Dim fname() As Byte
    Dim font1 As Long, ret As Long
    With fnt
        .lfHeight = 20            '文字高Pixel単位
        .lfWidth = 0              '文字の平均幅
        .lfEscapement = 900       '角度 * 10
'
        .lfWeight = FW_NORMAL     '文字の太さ
'        .lfItalic = 0            '斜体
'        .lfUnderline = 0         '下線
'        .lfStrikeOut = 0         '打ち消し線
'        .lfCharSet = 0           '文字セット
'        .lfOutPrecision = 0      '出力精度
'        .lfClipPrecision = 0     'クリッピング精度
'        .lfQuality = 0           '出力品質
'        .lfPitchAndFamily As Byte  'フォント名
        '***** フォント名をバイト配列に変換
        fname() = StrConv("標準明朝", vbFromUnicode)
        For i = 0 To UBound(fname)
          .lfFaceName(i) = fname(i)
        Next
    End With
    font1 = CreateFontIndirect(fnt)       '関数で作ったフォントを
    ret = SelectObject(Form1.hdc, font1)  'hdcに適用
    Form1.CurrentX = X
    Form1.CurrentY = Y
    Form1.Print "回転文字"
    ret = DeleteObject(font1)             'フォント削除
End Sub


印刷する場合には,
    ret = SelectObject( Printer.hdc, font1)
とする.


参照
前後のTips
印刷文字回転

DSS ProgrammingTipsCGI Ver2.02