tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 印刷で用紙の横向きと縦向きをきりかえる
投稿日: 2008/03/06(Thu) 12:35
投稿者魔界の仮面弁士
> 表を印刷する処理を作っています。縦長の表と横長の表を用紙向きを切り替えて
> 出力する必要があります。

ページごとに切り替えて表示したいのでしょうか?
それとも、全ページまとめて、縦/横を切り替えたいのでしょうか?



以下、手抜きなサンプル。

Public Class Form1
   Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
    Handles Button1.Click
      PrintPreviewDialog1.ShowDialog()
   End Sub

   Private page As Integer = 1
   Sub PrintDocument1_PrintPage(ByVal sender As Object, _
    ByVal e As Printing.PrintPageEventArgs) _
    Handles PrintDocument1.PrintPage
      e.Graphics.DrawRectangle(Pens.Blue, 30, 30, 500, 500)
      Using F As New Font("MS UI Gothic", 40)
         e.Graphics.DrawString(page.ToString("0ページ"), F, Brushes.Red, 100, 100)
      End Using
      If page < 10 Then
         e.HasMorePages = True
         page += 1
      Else
         e.HasMorePages = False
         page = 0
      End If
   End Sub

   Sub PrintDocument1_QueryPageSettings(ByVal sender As Object, _
    ByVal e As Printing.QueryPageSettingsEventArgs) _
    Handles PrintDocument1.QueryPageSettings
      With e.PageSettings
         If page <= 3 Then
            .PaperSize = New Printing.PaperSize("A4", 1169, 827)
         ElseIf page <= 6 Then
            .PaperSize = New Printing.PaperSize("B5", 1012, 717)
         Else
            .PaperSize = New Printing.PaperSize("A5", 827, 585)
         End If
         .Landscape = (page Mod 2 = 0)
      End With
   End Sub
End Class

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。