Atribuut PrtDevMode (Prindiseadme režiim)

Rakenduskoht

Objekt Form

Objekt Report

Atribuuti PrtDevMode saate kasutada dialoogiboksis Printimine vormile või aruandele määratud trükiseadme režiimiteabe seadmiseks või tagastamiseks. Loetav/kirjutatav variant.

avaldis.PrtDevMode

avaldis (nõutav). Avaldis, mis tagastab mõne objekti, mis on loendis Rakenduskoht.

Märkused

On tungivalt soovitatav, et tutvute atribuutide PrtDevMode, PrtDevNames ja PrtMip täieliku dokumentatsiooniga, mis sisaldub Win32 tarkvaraarenduskomplektis.

Atribuudi PrtDevMode säte on 94-baidine struktuur, mis peegeldab Win32 tarkvaraarenduskomplektis määratletud struktuuri DEVMODE. Rohkem teavet atribuudi PrtDevMode osade kohta leiate Win32 tarkvaraarenduskomplektist.

Atribuudil PrtDevMode on järgmised osad.

Osa

Kirjeldus

DeviceName

Maksimaalselt 32-baidine string, mis määrab draiveri toega seadme nime, nt „HP LaserJet IIISi“, kui Hewlett-Packard LaserJet IIISi on määratud printer. Iga printeridraiveri string on kordumatu.

SpecVersion

Täisarv, mis määrab struktuuri DEVMODE versiooninumbri Win32 tarkvaraarenduskomplektis.

DriverVersion

Täisarv, mis määrab printeri draiveri looja poolt draiverile antud versiooninumbri.

Size

Täisarv, mis määrab struktuuri DEVMODE mahu baitides. (Väärtus ei sisalda seda struktuuri järgivate seadmepõhiste andmete jaoks valikulist liiget dmDriverData.) Kui rakendus töötleb ainult draiverist sõltumatut andmeosa, saate seda liiget kasutada struktuuri pikkuse väljaselgitamiseks ilma versioonide erinevust arvesse võtmata.

DriverExtra

Täisarv, mis määrab seda struktuuri järgivate seadmepõhiste andmete jaoks valikulise liikme dmDriverData mahu baitides. Kui rakendus ei kasuta seadmepõhist teavet, määrake selle liikme väärtuseks 0.

Fields

pikk täisarv, mis määrab kindlaks, millised struktuuri DEVMODE ülejäänud liikmed on lähtestatud.

Orientation

Täisarv, mis määrab paberi paigutuse. See võib olla kas 1 (vertikaalpaigutus) või 2 (horisontaalpaigutus).

PaperSize

Täisarv, mis määrab printimisaluseks oleva paberi suuruse. Kui määrate selle liikme väärtuseks 0 või 256, määratakse paberi pikkus ja laius vastavalt liikmetega PaperLength (Paberi pikkus) ja PaperWidth (Paberi laius). Muul juhul saate liikme PaperSize (Paberi suurus) seada eelnevalt määratletud väärtuse abil.

PaperLength

Täisarv, mis määrab kindlaks paberi pikkuse ühikutes 1/10 millimeetrit. See liige kirjutab üle kohandatud paberisuurustele või mitmele paberisuurusele trükkivatele seadmetele (nt maatriksprinterid) liikmega PaperSize (Paberi suurus) määratud paberi pikkuse.

PaperWidth

Täisarv, mis määrab kindlaks paberi laiuse ühikutes 1/10 millimeetrit. Liige alistab liikmega PaperSize (Paberi suurus) määratud paberi lause.

Scale

Täisarv, mis määrab kindlaks teguri, mille võrra prinditavat väljundit mastaabitakse. Kuvatav lehesuurus mastaabitakse paberi formaadist teguri skaala/100 abil. Nt võib paberileht suurusega 21,59x27,94 cm (formaat Letter) mastaabi väärtusega 50 sisaldada palju rohkem andmeid kui leht mõõtmetega 43,18x55,88 cm, sest väljundteksti ja -graafika kõrgus ja laius võib olla algsest poole väiksem.

Copies

Täisarv, mis määrab prinditavate eksemplaride arvu (kui trükiseade toetab mitut eksemplari).

DefaultSource

Täisarv, mis määrab paberi söötmisel kasutatava salve vaikeväärtuse.

PrintQuality

Täisarv, mis määrab printeri eraldusvõime. Väärtused on –4 (kõrge), –3 (keskmine), –2 (madal) ja –1 (mustand).

Color

Täisarv. Värviprinteri korral määrab, kas väljund on prinditud värviliselt. Väärtused on 1 (värviline) ja 2 (mustvalge).

Duplex

Täisarv. Määrab kahepoolset printimist võimaldava printeri puhul, kas väljund prinditakse paberi mõlemale poolele. Väärtused on 1 (simpleks), 2 (horisontaalne) ja 3 (vertikaalne).

YResolution

Täisarv, mis määrab printeri y-eraldusvõime punktides tolli kohta (dpi). Kui printer käivitab selle liikme, siis määrab liige PrintQuality (Prindi kvaliteet) printeri x-eraldusvõime dpi-des (punktides tolli kohta).

TTOption

Täisarv, mis määrab TrueType-fontide printimise viisi.

Collate

Täisarv, mis määrab, kas mitme eksemplari printimisel prinditakse eksemplarhaaval. Järjestikusel printimisel on printimiskiirus suurem, sest andmed saadetakse printerisse ainult üks kord.

FormName

Kuni 16 märgi pikkune string, mis määrab kasutatava paberi suuruse (nt Letter või Legal).

Pad

Pikk täisarv, mida kasutatakse tühikute, märkide ja väärtuste täidistamiseks tulevaste versioonide jaoks.

Bits

Pikk täisarv, mis määrab kuvaseadme värvieraldusvõime bittides piksli kohta.

PW

Pikk täisarv, mis määrab nähtavaloleva seadmepinna (ekraanil või printeril) laiuse pikslites.

PH

Pikk täisarv, mis määrab nähtavaloleva seadmepinna (ekraanil või printeril) kõrguse pikslites.

DFI

Pikk täisarv, mis määrab seadme kuvarežiimi.

DFR

Pikk täisarv, mis määrab kasutatava režiimi puhul kuvaseadme sageduse hertsides (tsüklites sekundi kohta).


Märkus. : Atribuudi PrtDevMode saate määrata Visual Basic for Applications (VBA) koodi abil.

See atribuudisäte on kujundus- ja küljendivaates lugemis-/kirjutamisõigusega ning ülejäänud vaadetes kirjutuskaitstud.

Järgides 94-baidist DEVMODE-strukturi, saavad printeridraiverid seadmepõhiseid andmeid viivitamatult lisada. Seetõttu on oluline, et eespool liigendatud DEVMODE-andmed ei ületaks mahuliselt 94 baiti.

DEVMODE-struktuuri kasutavad ainult funktsiooni ExtDeviceMode eksportivad printeridraiverid.

Rakendus saab printeri toega paberisuurused ja -nimed teada, kasutades funktsiooni DeviceCapabilities kutsumiseks väärtusi DC_PAPERS, DC_PAPERSIZE ja DC_PAPERNAMES.

Enne liikme TTOption (TT-fondi säte) seadmist tuleks rakenduste poolt välja selgitada, kuidas printeridraiver saab TrueType-fonte kasutada. Selleks tuleb väärtuse DC_TRUETYPE abil kutsuda funktsioon DeviceCapabilities.

Näide.

Järgmises näites kasutatakse kasutaja poolt aruande jaoks määratletud leheküljesuuruse kontrollimiseks atribuuti PrtDevMode.

Private Type str_DEVMODE
RGB As String * 94
End Type
Private Type type_DEVMODE
strDeviceName As String * 32
intSpecVersion As Integer
intDriverVersion As Integer
intSize As Integer
intDriverExtra As Integer
lngFields As Long
intOrientation As Integer
intPaperSize As Integer
intPaperLength As Integer
intPaperWidth As Integer
intScale As Integer
intCopies As Integer
intDefaultSource As Integer
intPrintQuality As Integer
intColor As Integer
intDuplex As Integer
intResolution As Integer
intTTOption As Integer
intCollate As Integer
strFormName As String * 32
lngPad As Long
lngBits As Long
lngPW As Long
lngPH As Long
lngDFI As Long
lngDFr As Long
End Type
Public Sub CheckCustomPage(ByVal rptName As String)
Dim DevString As str_DEVMODE
Dim DM As type_DEVMODE
Dim strDevModeExtra As String
Dim rpt As Report
Dim intResponse As Integer
' Opens report in Design view.
DoCmd.OpenReport rptName, acDesign
Set rpt = Reports(rptName)
If Not IsNull(rpt.PrtDevMode) Then
strDevModeExtra = rpt.PrtDevMode
' Gets current DEVMODE structure.
DevString.RGB = strDevModeExtra
LSet DM = DevString
If DM.intPaperSize = 256 Then
' Display user-defined size.
intResponse = MsgBox("The current custom page size is " & _
DM.intPaperWidth / 254 & " inches wide by " & _
DM.intPaperLength / 254 & " inches long. Do you want " & _
"to change the settings?", vbYesNo + vbQuestion)
Else
' Currently not user-defined.
intResponse = MsgBox("The report does not have a custom page size. " & _
"Do you want to define one?", vbYesNo + vbQuestion)
End If
If intResponse = vbYes Then
' User wants to change settings. Initialize fields.
DM.lngFields = DM.lngFields Or DM.intPaperSize Or _
DM.intPaperLength Or DM.intPaperWidth
' Set custom page.
DM.intPaperSize = 256
' Prompt for length and width.
DM.intPaperLength = InputBox("Please enter page length in inches.") * 254
DM.intPaperWidth = InputBox("Please enter page width in inches.") * 254
' Update property.
LSet DevString = DM
Mid(strDevModeExtra, 1, 94) = DevString.RGB
rpt.PrtDevMode = strDevModeExtra
End If
End If
Set rpt = Nothing
End Sub

Järgmises näites kirjeldatakse aruande suuna muutmist. Sõltuvalt aruande praegusest suunast muudetakse suund vastavalt püstpaigutusest rõhtpaigutuseks või rõhtpaigutusest püstpaigutuseks.

Public Sub SwitchOrient(ByVal strName As String)
Const DM_PORTRAIT = 1
Const DM_LANDSCAPE = 2
Dim DevString As str_DEVMODE
Dim DM As type_DEVMODE
Dim strDevModeExtra As String
Dim rpt As Report
' Opens report in Design view.
DoCmd.OpenReport strName, acDesign
Set rpt = Reports(strName)
If Not IsNull(rpt.PrtDevMode) Then
strDevModeExtra = rpt.PrtDevMode
DevString.RGB = strDevModeExtra
LSet DM = DevString
DM.lngFields = DM.lngFields Or DM.intOrientation
' Initialize fields.
If DM.intOrientation = DM_PORTRAIT Then
DM.intOrientation = DM_LANDSCAPE
Else
DM.intOrientation = DM_PORTRAIT
End If
' Update property.
LSet DevString = DM
Mid(strDevModeExtra, 1, 94) = DevString.RGB
rpt.PrtDevMode = strDevModeExtra
End If
Set rpt = Nothing
End Sub
Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×