Visual Basic
Visual Basic
Java2 SE 5.0 API
Java2 SE 1.4 API
Java2 EE API
Struts 1.0.2
MSDN2 Library
MySQL 5.1
MySQL 4.1
HTMLリファレンス
CSSリファレンス
JavaScript
基本カラーチャート
カレンダー
 最新PG・講座情報
 最新ニュース
 電子辞書・辞典
ご意見・ご要望はこちらまで

2.印刷のダイアログ

  1. ページ設定

     ページ設定ダイアログは、用紙のサイズや印刷の向きなど、印刷の詳細を設定することができるダイアログです。 このダイアログは PageSetupDialogコントロールを使って表示することができます。
     ここではボタン(Button)からクリックされてページ設定ダイアログを表示するものとします。

     
     1: Imports System.Drawing.Printing
     2:    …
     3:     Private MyPageSetting As PageSettings
     4:
     5:     Private Sub Button2_Click( … ) Handles Button2.Click
     6:         If MyPageSetting Is Nothing Then   ’印刷ページに適用する設定
     7:             MyPageSetting = New PageSettings() 
     8:         End If
     9:         PageSetupDialog1.PageSettings = MyPageSetting
    10:         PageSetupDialog1.ShowDialog()
    11:     End Sub
    
     ページ設定ダイアログの表示
     3行目    :ページ設定オブジェクトの定義(System.Drawing.Printing)
     5-11行目 :ボタンクリック(Click)イベントのイベントハンドラ
     6-8行目  :ページ設定オブジェクトがまだ生成されていなければ生成
     9行目    :ページ設定ダイアログのページ設定に現在の値を設定
     10行目   :ページ設定ダイアログを表示


  2. 印刷プレビュー

     印刷プレビューダイアログは、プリンタへの印刷を画面上にプレビューすることができるダイアログです。 印刷処理(PrintPageイベントハンドラ)の記述は印刷時と同様に必要になります。 このダイアログは PrintPreviewDialogコントロールを使って表示することができます。
     ここではボタン(Button)からクリックされて印刷プレビューダイアログを表示するものとします。

     
     1: Imports System.Drawing.Printing
     2:    …
     3:     Private MyPageSetting As PageSettings
     4:
     5:     Private Sub Button3_Click( … ) Handles Button3.Click
     6:         PrintPreviewDialog1.Document = PrintDocument1
     7:         If Not MyPageSetting Is Nothing Then  ’印刷ページに適用する設定
     8:             PrintDocument1.DefaultPageSettings = MyPageSetting
     9:         End If
    10:         PrintPreviewDialog1.ShowDialog()
    11:     End Sub
    
     印刷プレビューダイアログの表示
     1-3行目  :(ページ設定と共通)
     5-11行目 :ボタンクリック(Click)イベントのイベントハンドラ
     6行目    :現在の印刷ドキュメント(PrintDocument)を印刷プレビューダイアログに設定
     7-9行目  :ページ設定オブジェクトが生成されていれば、印刷ドキュメント(PrintDocument)に設定
     10行目   :印刷プレビューダイアログ(プレビュー)を表示(指示はしなくてよい)


  3. 印刷

     印刷ダイアログは、プリンタの選択やプロパティを設定することができるダイアログです。 このダイアログは PrintDialogコントロールを使って表示することができます。
     ここではボタン(Button)からクリックされて印刷ダイアログを表示するものとします。

     
     1: Imports System.Drawing.Printing
     2:    …
     3:     Private MyPageSetting As PageSettings
     4:
     5:     Private Sub Button4_Click( … ) Handles Button4.Click
     6:         PrintDialog1.Document = PrintDocument1
     7:         If Not MyPageSetting Is Nothing Then  ’印刷ページに適用する設定
     8:             PrintDocument1.DefaultPageSettings = MyPageSetting
     9:         End If
    10:         Dim result As DialogResult = printDialog1.ShowDialog()
    11:         If result = DialogResult.OK Then
    12:             printDocument1.Print()
    13:         End If
    14:     End Sub
    
     印刷ダイアログの表示
     1-3行目  :(ページ設定と共通)
     5-14行目 :ボタンクリック(Click)イベントのイベントハンドラ
     6行目    :現在の印刷ドキュメント(PrintDocument)を印刷ダイアログに設定
     7-9行目  :ページ設定オブジェクトが生成されていれば、印刷ドキュメント(PrintDocument)に設定
     10行目   :印刷ダイアログ(プレビュー)を表示し、ボタンクリックの結果を取得
     11-13行目:「OK」をクリックしたら現在の印刷ドキュメント(PrintDocument)を印刷指示

3.問題点

 印刷内容が文字列のみでしたら、Y座標を文字列のフォントの高さ分下にずらしながら DrawStringメソッドを繰り返していけばいいですが、 データは文字列だけでないですから、XY座標の計算が大変そうです。
 ただVer.6での Printerオブジェクトよりは柔軟な機能で使いやすいと思います。


 INDEX
  連載 Visual Basic 新しい印刷モデルの利用方法
  1.印刷方法
2.印刷のダイアログ
Top
Copyright© 2003-2007 FumikiChan All Rights Reserved.
http://www.fumikichan.net/