- 題名: 印刷処理について質問!!!
- 日時: 2003/12/25 12:27:14
- ID: 1947
- この記事の返信元:
- (なし)
- この記事への返信:
- [1957] Re[1]: 印刷処理について質問!!!2003/12/26 1:47:13
- ツリーを表示
■No1947に返信(よしねさんの記事) > VB6.0のときのように、印刷物を先に設定してから、印刷を開始する > ような流れを.NETで実現はできないんでしょうか? 基本的には、自分でクラスを作成するということになるでしょう。 よしねさんのコードをそのまま利用して新しいクラスMyPrintを作ると、 次のようになります。 Public Class MyPrint Private wkString As String Public Property [String]() Get Return wkString End Get Set(ByVal Value) wkString = Value End Set End Property Public Sub New() wkString = "" End Sub Public Sub EndDoc() 'PrintDocumentオブジェクトの作成 Dim pd As New System.Drawing.Printing.PrintDocument 'PrintPageイベントハンドラの追加] AddHandler pd.PrintPage, AddressOf pd_PrintPage '印刷を開始する pd.Print() End Sub Private Sub pd_PrintPage(ByVal sender As Object, _ ByVal e As System.Drawing.Printing.PrintPageEventArgs) Dim w_CurrentX1 As Integer Dim w_CurrentY1 As Integer Dim printfont As Font 'フォント指定 printfont = New Font("MS ゴシック", 10) e.Graphics.DrawString(wkString, printfont, Brushes.Black, _ e.MarginBounds.Left, e.MarginBounds.Top, New StringFormat) End Sub End Class このクラスを使用するには、次のようにします。 Dim p As New MyPrint '文字列設定 p.String = "よしね" '印刷を開始する p.EndDoc()
皆様。お疲れ様です。よしねです。
印刷についての質問なんですが、
VB6.0での印刷処理がprinterオブジェクトを使用して
<VB6.0>
Private Sub Print_Click()
Dim wkstring As String '印刷文字
'印刷する文字列を設定する。
wkstring = "よしね"
'印刷設定を行なう。(実際は関数にしていて実際は見えないようにする)
Printer.Print wkstring
Printer.CurrentX = 0
Printer.CurrentY = 0
'印刷する
Printer.EndDoc
End Sub
のように「文字設定」→「印刷」の流れで印刷を行なえていたと思うのですが、
VB.NETではどこを調べてみても
<VB.NET>
Public Sub Print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'PrintDocumentオブジェクトの作成
Dim pd As New System.Drawing.Printing.PrintDocument
'PrintPageイベントハンドラの追加]
'AddHandler pd.PrintPage, AddressOf pd_PrintPage
'印刷を開始する
pd.Print()
End Sub
Private Sub pd_PrintPage(ByVal sender As Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs)
Dim w_CurrentX1 As Integer
Dim w_CurrentY1 As Integer
Dim wkString As String
Dim printfont As Font
'フォント指定
printfont = New Font("MS ゴシック", 10)
'文字列設定
wkString= "よしね"
e.Graphics.DrawString(wkString, printfont, Brushes.Black, e.MarginBounds.Left, e.MarginBounds.Top, New StringFormat)
End Sub
のように「印刷開始」→「文字列設定」の流れになります。
VB6.0のときのように、印刷物を先に設定してから、印刷を開始する
ような流れを.NETで実現はできないんでしょうか?皆様のご判断と
もしやり方があれば、知恵をお借りしたいと思っています。よろしく
お願いします。