Declare Function PPrtr Lib "PPRTR.DLL" (ByVal hWnd As Integer, ByVal ppSelection As Integer, ByVal PPNewValue As Integer, ByVal ppAction As Integer) As Integer Declare Function DefPrtr Lib "PPRTR.DLL" (ByVal newone As String, ByVal oldone As String) As Integer Declare Function Prtrs Lib "PPRTR.DLL" (ByVal plist As String) As Integer Declare Function PrtrCap Lib "PPRTR.DLL" (ndc As DEVCAP) As Integer Declare Function GetPrtr Lib "PPRTR.DLL" (ByVal DefPrtr As String) As Integer Declare Function GetPort Lib "PPRTR.DLL" (ByVal PtrPort As String) As Integer '================================================================= ' field selection bits Global Const DM_ORIENTATION = &H1 Global Const DM_PAPERSIZE = &H2 Global Const DM_PAPERLENGTH = &H4 Global Const DM_PAPERWIDTH = &H8 Global Const DM_SCALE = &H10 Global Const DM_COPIES = &H100 Global Const DM_DEFAULTSOURCE = &H200 Global Const DM_PRINTQUALITY = &H400 Global Const DM_COLOR = &H800 Global Const DM_DUPLEX = &H1000 Global Const DM_YRESOLUTION = &H2000 Global Const DM_TTOPTION = &H4000 ' orientation selections Global Const DMORIENT_PORTRAIT = 1 Global Const DMORIENT_LANDSCAPE = 2 ' paper selections ' Warning: The PostScript driver mistakingly uses DMPAPER_ values between ' * 50 and 56. Don't use this range when defining new paper sizes. Global Const DMPAPER_FIRST = 1 Global Const DMPAPER_LETTER = 1 ' Letter 8 1/2 x 11 in Global Const DMPAPER_LETTERSMALL = 2 ' Letter Small 8 1/2 x 11 in Global Const DMPAPER_TABLOID = 3 ' Tabloid 11 x 17 in Global Const DMPAPER_LEDGER = 4 ' Ledger 17 x 11 in Global Const DMPAPER_LEGAL = 5 ' Legal 8 1/2 x 14 in Global Const DMPAPER_STATEMENT = 6 ' Statement 5 1/2 x 8 1/2 in Global Const DMPAPER_EXECUTIVE = 7 ' Executive 7 1/4 x 10 1/2 in Global Const DMPAPER_A3 = 8 ' A3 297 x 420 mm Global Const DMPAPER_A4 = 9 ' A4 210 x 297 mm Global Const DMPAPER_A4SMALL = 10 ' A4 Small 210 x 297 mm Global Const DMPAPER_A5 = 11 ' A5 148 x 210 mm Global Const DMPAPER_B4 = 12 ' B4 250 x 354 Global Const DMPAPER_B5 = 13 ' B5 182 x 257 mm Global Const DMPAPER_FOLIO = 14 ' Folio 8 1/2 x 13 in Global Const DMPAPER_QUARTO = 15 ' Quarto 215 x 275 mm Global Const DMPAPER_10x14 = 16 ' 10x14 in Global Const DMPAPER_11X17 = 17 ' 11x17 in Global Const DMPAPER_NOTE = 18 ' Note 8 1/2 x 11 in Global Const DMPAPER_ENV_9 = 19 ' Envelope #9 3 7/8 x 8 7/8 Global Const DMPAPER_ENV_10 = 20 ' Envelope #10 4 1/8 x 9 1/2 Global Const DMPAPER_ENV_11 = 21 ' Envelope #11 4 1/2 x 10 3/8 Global Const DMPAPER_ENV_12 = 22 ' Envelope #12 4 \276 x 11 Global Const DMPAPER_ENV_14 = 23 ' Envelope #14 5 x 11 1/2 Global Const DMPAPER_CSHEET = 24 ' C size sheet Global Const DMPAPER_DSHEET = 25 ' D size sheet Global Const DMPAPER_ESHEET = 26 ' E size sheet Global Const DMPAPER_ENV_DL = 27 ' Envelope DL 110 x 220mm Global Const DMPAPER_ENV_C5 = 28 ' Envelope C5 162 x 229 mm Global Const DMPAPER_ENV_C3 = 29 ' Envelope C3 324 x 458 mm Global Const DMPAPER_ENV_C4 = 30 ' Envelope C4 229 x 324 mm Global Const DMPAPER_ENV_C6 = 31 ' Envelope C6 114 x 162 mm Global Const DMPAPER_ENV_C65 = 32 ' Envelope C65 114 x 229 mm Global Const DMPAPER_ENV_B4 = 33 ' Envelope B4 250 x 353 mm Global Const DMPAPER_ENV_B5 = 34 ' Envelope B5 176 x 250 mm Global Const DMPAPER_ENV_B6 = 35 ' Envelope B6 176 x 125 mm Global Const DMPAPER_ENV_ITALY = 36 ' Envelope 110 x 230 mm Global Const DMPAPER_ENV_MONARCH = 37 ' Envelope Monarch 3.875 x 7.5 in Global Const DMPAPER_ENV_PERSONAL = 38 ' 6 3/4 Envelope 3 5/8 x 6 1/2 in Global Const DMPAPER_FANFOLD_US = 39 ' US Std Fanfold 14 7/8 x 11 in Global Const DMPAPER_FANFOLD_STD_GERMAN = 40 ' German Std Fanfold 8 1/2 x 12 in Global Const DMPAPER_FANFOLD_LGL_GERMAN = 41 ' German Legal Fanfold 8 1/2 x 13 in Global Const DMPAPER_LAST = 41 Global Const DMPAPER_USER = 256 ' user defined ' bin selections Global Const DMBIN_FIRST = 1 Global Const DMBIN_UPPER = 1 Global Const DMBIN_ONLYONE = 1 Global Const DMBIN_LOWER = 2 Global Const DMBIN_MIDDLE = 3 Global Const DMBIN_MANUAL = 4 Global Const DMBIN_ENVELOPE = 5 Global Const DMBIN_ENVMANUAL = 6 Global Const DMBIN_AUTO = 7 Global Const DMBIN_TRACTOR = 8 Global Const DMBIN_SMALLFMT = 9 Global Const DMBIN_LARGEFMT = 10 Global Const DMBIN_LARGECAPACITY = 11 Global Const DMBIN_CASSETTE = 14 Global Const DMBIN_LAST = 14 Global Const DMBIN_USER = 256 ' device specific bins start here ' print qualities Global Const DMRES_DRAFT = (-1) Global Const DMRES_LOW = (-2) Global Const DMRES_MEDIUM = (-3) Global Const DMRES_HIGH = (-4) ' color enable/disable for color printers Global Const DMCOLOR_MONOCHROME = 1 Global Const DMCOLOR_COLOR = 2 ' duplex enable Global Const DMDUP_SIMPLEX = 1 Global Const DMDUP_VERTICAL = 2 Global Const DMDUP_HORIZONTAL = 3 ' TrueType options Global Const DMTT_BITMAP = 1 ' print TT fonts as graphics Global Const DMTT_DOWNLOAD = 2 ' download TT fonts as soft fonts Global Const DMTT_SUBDEV = 3 ' substitute device fonts for TT fonts Global Const PP_GIMME = 0 Global Const PP_CHANGE_IT = 1 Global Const PP_UNNEEDED = 0 '================ device capabilities ================ Type devcap DRIVERVERSION As Integer TECHNOLOGY As Integer 'bits HORZSIZE As Integer VERTSIZE As Integer HORZRES As Integer VERTRES As Integer BITSPIXEL As Integer PLANES As Integer NUMBRUSHES As Integer NUMPENS As Integer NUMMARKERS As Integer NUMFONTS As Integer NUMCOLORS As Integer PDEVICESIZE As Integer CURVECAPS As Integer ' bits LINECAPS As Integer ' bits POLYGONALCAPS As Integer ' bits TEXTCAPS As Integer ' bits CLIPCAPS As Integer ' bits RASTERCAPS As Integer ' bits ASPECTX As Integer ASPECTY As Integer ASPECTXY As Integer LOGPIXELSX As Integer LOGPIXELSY As Integer SIZEPALETTE As Integer NUMRESERVED As Integer COLORRES As Integer End Type '---- return value masks --- ' TECHNOLOGY Global Const DT_PLOTTER = 0 Global Const DT_RASDISPLAY = 1 Global Const DT_RASPRINTER = 2 Global Const DT_RASCAMERA = 3 Global Const DT_CHARSTREAM = 4 Global Const DT_METAFILE = 5 Global Const DT_DISPFILE = 6 ' CURVECAPS Global Const CC_NONE = &H0 Global Const CC_CIRCLES = &H1 Global Const CC_PIE = &H2 Global Const CC_CHORD = &H4 Global Const CC_ELLIPSES = &H8 Global Const CC_WIDE = &H10 Global Const CC_STYLED = &H20 Global Const CC_WIDESTYLED = &H40 Global Const CC_INTERIORS = &H80 Global Const CC_ROUNDRECT = &H100 ' LINECAPS Global Const LC_NONE = &H0 Global Const LC_POLYLINE = &H2 Global Const LC_MARKER = &H4 Global Const LC_POLYMARKER = &H8 Global Const LC_WIDE = &H10 Global Const LC_STYLED = &H20 Global Const LC_WIDESTYLED = &H40 Global Const LC_INTERIORS = &H80 ' POLYGONALCAPS Global Const PC_NONE = &H0 Global Const PC_POLYGON = &H1 Global Const PC_RECTANGLE = &H2 Global Const PC_WINDPOLYGON = &H4 Global Const PC_SCANLINE = &H8 Global Const PC_WIDE = &H10 Global Const PC_STYLED = &H20 Global Const PC_WIDESTYLED = &H40 Global Const PC_INTERIORS = &H80 ' TEXTCAPS Global Const TC_OP_CHARACTER = &H1 Global Const TC_OP_STROKE = &H2 Global Const TC_CP_STROKE = &H4 Global Const TC_CR_90 = &H8 Global Const TC_CR_ANY = &H10 Global Const TC_SF_X_YINDEP = &H20 Global Const TC_SA_DOUBLE = &H40 Global Const TC_SA_INTEGER = &H80 Global Const TC_SA_CONTIN = &H100 Global Const TC_EA_DOUBLE = &H200 Global Const TC_IA_ABLE = &H400 Global Const TC_UA_ABLE = &H800 Global Const TC_SO_ABLE = &H1000 Global Const TC_RA_ABLE = &H2000 Global Const TC_VA_ABLE = &H4000 Global Const TC_RESERVED = &H8000 ' CLIPCAPS Global Const CP_NONE = &H0 Global Const CP_RECTANGLE = &H1 Global Const CP_REGION = &H2 ' RASTERCAPS Global Const RC_NONE = &H0 Global Const RC_BITBLT = &H1 Global Const RC_BANDING = &H2 Global Const RC_SCALING = &H4 Global Const RC_BITMAP64 = &H8 Global Const RC_GDI20_OUTPUT = &H10 Global Const RC_GDI20_STATE = &H20 Global Const RC_SAVEBITMAP = &H40 Global Const RC_DI_BITMAP = &H80 Global Const RC_PALETTE = &H100 Global Const RC_DIBTODEV = &H200 Global Const RC_BIGFONT = &H400 Global Const RC_STRETCHBLT = &H800 Global Const RC_FLOODFILL = &H1000 Global Const RC_STRETCHDIB = &H2000 Global Const RC_OP_DX_OUTPUT = &H4000 Global Const RC_DEVBITS = &H8000