タイトル | : Re: 印刷で用紙の横向きと縦向きをきりかえる |
記事No | : 7141 |
投稿日 | : 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
|