- 題名: 印刷処理について質問!!!
- 日時: 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で実現はできないんでしょうか?皆様のご判断と
もしやり方があれば、知恵をお借りしたいと思っています。よろしく
お願いします。