Click to See Complete Forum and Search --> : printing


mike2145
May 16th, 2001, 10:54 PM
what do I need to do to get the system printer to print text2.text ??

LrdSothe
May 16th, 2001, 11:21 PM
You haven't given much information here, so I'll assume you mean from within a VB project...

All you have to do is open the text file as a file

Open /text2.txt for input as #1

then use an object.print...

mike2145
May 16th, 2001, 11:35 PM
I figured it out thanks..
No the control textBox, (text)
Thanks

Iouri
May 17th, 2001, 07:13 AM
'Form1(with labels and textboxes)

' Print the Labels and TextBoxes.
Private Sub PrintFormFields(ptr As Object, frm As Form, draw_box As Boolean)
Dim ctl As Control
Dim wid As Single
Dim hgt As Single

For Each ctl In frm.Controls
If TypeOf ctl Is Label Then
PrintText ptr, frm, ctl, ctl.Caption, False
ElseIf TypeOf ctl Is TextBox Then
PrintText ptr, frm, ctl, ctl.Text, True
End If
Next ctl

If draw_box Then
wid = frm.ScaleX(frm.ScaleWidth, frm.ScaleMode, vbTwips)
hgt = frm.ScaleY(frm.ScaleHeight, frm.ScaleMode, vbTwips)
ptr.Line (0, 0)-Step(wid, hgt), , B
End If
End Sub

' Print text where the control belongs.
Private Sub PrintText(ptr As Object, frm As Form, ctl As Control, txt As String, draw_box As Boolean)
Dim l As Single
Dim t As Single
Dim wid As Single
Dim hgt As Single

l = frm.ScaleX(ctl.Left, frm.ScaleMode, vbTwips)
t = frm.ScaleY(ctl.Top, frm.ScaleMode, vbTwips)
If draw_box Then
ptr.CurrentX = l + _
ScaleX(0.2 * ctl.Font.Size, vbPoints, vbTwips)
ptr.CurrentY = t + _
ScaleY(0.2 * ctl.Font.Size, vbPoints, vbTwips)
Else
ptr.CurrentX = l
ptr.CurrentY = t
End If

' Select the printer font.
ptr.Font.Name = ctl.Font.Name
ptr.Font.Size = ctl.Font.Size

ptr.Print txt
If draw_box Then
wid = frm.ScaleX(ctl.Width, frm.ScaleMode, vbTwips)
hgt = frm.ScaleY(ctl.Height, frm.ScaleMode, vbTwips)
ptr.Line (l, t)-Step(wid, hgt), , B
End If
End Sub

Private Sub cmdPreview_Click()
Form2.Cls
PrintFormFields Form2, Me, True
Form2.Show
End Sub

Private Sub cmdPrint_Click()
Screen.MousePointer = vbHourglass
PrintFormFields Printer, Me, True
Printer.EndDoc
Screen.MousePointer = vbDefault
End Sub


'form2 (empty)

Iouri Boutchkine
iouri@hotsheet.com