43章:チュートリアル42:WPFでの印刷(4) (VB)

    作成2013.04.18

     サンプルコード「WPF Printing Overvie1」の中にXAMLで作成した図形の印刷方法のわかりやすい事例が見つかりました。
     わかってみると驚くほど簡単な記述です。

  1. WPFでの印刷(4) (VB)
     サンプルコード「WPF Printing Overvie1」の極一部を抜粋してC#からVBに変換しました。
     ダウンロード後は解凍してから使用してください。
     
    [WPFでの印刷(4) (VB)]をダウンロードする。
     解凍すると「43WPF_Printing2」フォルダーがあります。
    注(1)「43WPF_Printing2」フォルダーの「WPF_Printing2.sln」ファイルをダブルクリックすると「Microsoft Visual Basic 2010 Express」が起動します。
    注(2)メニューの「ウインド」_「ウインドレイアウトのリセット」で標準に戻ります。
    注(3)「ソリューションエクスプローラ」ウインドウ内の「MainWindow.xaml」をダブルクリックすると「デザイン」と「XAML」が表示されます。
    注(4)メニューの「表示」_「コード」を選択するとコードが表示されます。
    注(5)「WPF_Printing2.sln」の動作確認は「デバッグ」_「デバッグ開始」で実行します。デバッグ機能を用いて動作確認を行います。


  2. WPF_Printing2.slnの実行
    (1)「Microsoft Visual Basic 2010 Express」のデバッグ機能を使用します。
    (2)「デバッグ」_「デバッグ開始」を選択します。
    (3)図形がはいった印刷画面が表示されます。
    (4)印刷ボタンを押すと印刷が実行されます。
    (5)クローズボックスで終了します。


  3. プロジェクトの構成
    (1)XAMLコードとVBコードで構成されます。


  4. XAMLの全コード
    <Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="401" Width="522">
        <Grid>
            <Grid Name="Grid1" Margin="0,25,0,0">
                <Ellipse Height="50" HorizontalAlignment="Left" Margin="65,91,0,0" Name="Ellipse1" Stroke="Black" VerticalAlignment="Top" Width="93" Fill="BlueViolet" />
                <Label Content="Label" Height="28" HorizontalAlignment="Left" Margin="225,167,0,0" Name="Label1" VerticalAlignment="Top" />
                <Rectangle Height="56" HorizontalAlignment="Left" Margin="264,85,0,0" Name="Rectangle1" Stroke="Black" VerticalAlignment="Top" Width="101" Fill="Magenta" />
            </Grid>
            <StackPanel Height="25" HorizontalAlignment="Left" Name="StackPanel1" VerticalAlignment="Top">
                <Button Content="印刷" Height="23" Name="Button1" Width="75" />
            </StackPanel>
        </Grid>
    </Window>
    


  5. XAMLのポイント
    (1)Grid1内に図形を配置します。


  6. VBの全コード
    Class MainWindow
        Public Sub New()
            InitializeComponent()
        End Sub
    
        Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
            Dim printDialog As PrintDialog = New PrintDialog()
            If printDialog.ShowDialog() Then
                printDialog.PrintVisual(Grid1, "TEST")
            End If
        End Sub
    End Class
    


  7. VBコードの解説
    (1)Dim printDialog As PrintDialog = New PrintDialog()でプリントダイアログを開きます。
    (2) If printDialog.ShowDialog() Thenは印刷ボタンが押された場合、以下を実行します。
    (3)printDialog.PrintVisual(Grid1, "TEST")でGrid1に含まれる図形を印刷します。


    感想:
    (1)非常に簡単な記載でXAMLで作成した図形を印刷できます。
    (2)画面のデザイン等の制限がありません。
    (3)かなり、実用的なコードです。






44章:チュートリアル43:WPFでのマルチウインドウ (VB)に行く。

トップページに戻る。