home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
swCHIP 1991 January
/
swCHIP_95-1.bin
/
access
/
chgprn
/
chgprn.txt
Wrap
Text File
|
1995-12-11
|
2KB
|
53 lines
' Shown below is some sample code you can use to change certain printer settings.
' This code is intended as an example and is not supported by Microsoft.
Type zwtDevModeStr
rgb As String * 64
End Type
Type zwtDeviceMode
dmDeviceName As String * 32
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
End Type
' The routine reads the current printer device mode information for the szReport
' ('PrtDevMode' property) in to DevMode structure and overwrites the PaperSize field
' with the user defined paper size. The routine sets the width of the paper
' to the Label Width, and length of the paper to the one label height.
' the routine called only for the dot matrix mailing labels, and will work
' only if dot matrix printer setup as default printer.
'
Private Sub DotMxSetup (szReport As String)
Dim dm As zwtDevModeStr
Dim DevMode As zwtDeviceMode
Const psUserDefined = 256 ' User defined PaperSize
Const mmInInch = 254 ' mm in one inch
Const dxExtra = 360
Const dmAllFields = 26127 ' all fileds has been initialized
If Not IsNull(Reports(szReport).PrtDevMode) Then
dm.rgb = Reports(szReport).PrtDevMode ' read default device mode
LSet DevMode = dm
DevMode.dmFields = dmAllFields
DevMode.dmPaperSize = psUserDefined
DevMode.dmPaperLength = ((ptLabelSize.y + dxdySpace.y) / zwcTwipsInch) * mmInInch
DevMode.dmPaperWidth = (((ptLabelSize.x + dxdySpace.x) * cItemsAcross + xLeftMargin + xRightMargin) / zwcTwipsInch) * mmInInch
LSet dm = DevMode
Reports(szReport).PrtDevMode = dm.rgb ' write new device mode
End If
End Sub