Taikoma
„Access“, skirta „Microsoft 365“ Access 2021 Access 2019 Access 2016

Taikoma

Objektas Form

Objektas Report

Galite naudoti ypatybę PrtDevMode, norėdami nustatyti arba grąžinti informaciją apie spausdinimo įrenginio režimą, nustatytą formai arba ataskaitai, dialogo lange Spausdinimas. Skaitoma / rašoma duomenų tipo Variant reikšmė.

reiškinys.PrtDevMode

reiškinys Būtina. Reiškinys, kuris pateikia vieną iš sąrašo „Taikoma“ objektų.

Pastabos

Labai rekomenduojama paieškoti daugiau informacijos apie ypatybes PrtDevMode, PrtDevNames ir PrtMip „Win32“ programinės įrangos kūrimo rinkinyje.

Ypatybės PrtDevMode parametras yra 94 baitų struktūra, atitinkanti DEVMODE struktūrą, apibrėžtą „Win32“ programinės įrangos kūrimo rinkinyje. Išsamios informacijos apie ypatybės PrtDevMode narius ieškokite „Win32“ programinės įrangos kūrimo rinkinyje.

Ypatybė PrtDevMode naudoja toliau pateiktus narius.

Narys

Aprašas

DeviceName

eilutė, kuriame yra ne daugiau kaip 32 baitai, nurodantys tvarkyklės palaikomo įrenginio pavadinimą, pvz., "HP LaserJet IIISi", jei Hewlett-Packard LaserJet IIISi yra nurodytas spausdintuvas. Kiekviena spausdintuvo tvarkyklė turi unikalią eilutę.

SpecVersion

Sveikasis skaičius, nurodantis DEVMODE struktūros versijos numerį „Win32“ programinės įrangos kūrimo rinkinyje.

DriverVersion

Sveikasis skaičius, nurodantis spausdintuvo tvarkyklės versijos numerį, kurį priskyrė spausdintuvo tvarkyklės kūrėjas.

Size

Sveikasis skaičius, nurodantis DEVMODE struktūros dydį baitais. (Ši reikšmė neapima pasirinktinio nario dmDriverData , skirto konkretaus įrenginio duomenims, kurie gali naudoti šią struktūrą.) Jei programa manipuliuoja tik nuo tvarkyklės nepriklausančia duomenų dalimi, galite naudoti šį narį, kad sužinotumėte šios struktūros ilgį neatsižvelgdami į skirtingas versijas.

DriverExtra

Sveikasis skaičius, nurodantis pasirinktinio nario dmDriverData, skirto konkretaus įrenginio duomenims, kurie gali naudoti šią struktūrą, dydį baitais. Jei programa nenaudoja konkretaus įrenginio informacijos, galite šio nario reikšmę nustatyti į 0.

Fields

Ilgojo sveikojo reikšmė, nurodanti, kurie iš likusių DEVMODE struktūros narių inicijuoti.

Orientation

Sveikasis skaičius, nurodantis popieriaus padėtį. Reikšmė gali būti arba 1 (stačias) arba 2 (gulsčias).

PaperSize

Sveikasis skaičius, nurodantis popieriaus, ant kurio spausdinama, dydį. Jei šio nario reikšmę nustatote į 0 arba 256, popieriaus ilgį ir plotį atitinkamai apibrėžia PaperLength ir PaperWidth. Kitu atveju galite PaperSize nariui priskirti iš anksto nustatytą reikšmę.

PaperLength

Sveikasis skaičius, nurodantis popieriaus ilgį vienetais, lygiais 1/10 milimetro. Šis narys pakeičia popieriaus ilgį, nurodytą PaperSize nario, kai naudojamas pasirinktinis popieriaus dydis arba įrenginiai, tokie kaip adatiniai spausdintuvai, kurie gali spausdinti ant įvairaus dydžio popieriaus.

PaperWidth

Sveikasis skaičius, nurodantis popieriaus plotį vienetais, lygiais 1/10 milimetro. Šis narys pakeičia popieriaus plotį, nurodytą PaperSize nario.

Scale

Sveikasis skaičius, nurodantis koeficientą, pagal kurį bus keičiamas išspausdintos išvesties mastelis. Matomas puslapio dydis yra pakeistas iš fizinio puslapio dydžio pagal mastelio/100 koeficientą. Pavyzdžiui, popieriaus lape, kurio dydis 8,5 col. (raidės dydis), kurio skalės reikšmė yra 50, būtų tiek duomenų, kiek 17 ir 22 colių dydžio puslapyje, nes išvesties tekstas ir grafiniai elementai būtų pusės pradinio aukščio ir pločio.

Copies

Sveikasis skaičius, nurodantis spausdinamų kopijų skaičių, jei spausdinimo įrenginys palaiko kelių puslapių kopijas.

DefaultSource

Sveikasis skaičius, nurodantis numatytąją talpyklą, iš kurios tiekiamas popierius.

PrintQuality

Sveikasis skaičius, nurodantis spausdintuvo skiriamąją gebą. Reikšmės yra –4 (aukšta), –3 (vidutinė), –2 (žema), and –1 (juodraštis).

Color

Sveikasis skaičius. Naudojant spalvinį spausdintuvą, šis narys nurodo, ar spausdinama spalvotai. Reikšmės yra 1 (spalvotas) ir 2 (monochrominis).

Duplex

Sveikasis skaičius. Naudojant spausdintuvą, palaikantį dvipusį spausdinimą, šis narys nurodo, ar spausdinama ant abiejų lapo pusių. Reikšmės yra 1 (vienpusis), 2 (horizontalus) ir 3 (vertikalus).

YResolution

Sveikasis skaičius, nurodantis spausdintuvo y skiriamąją gebą taškais colyje (dpi). Jei spausdintuvas inicijuoja šį narį, PrintQuality narys nurodo spausdintuvo x skiriamąją gebą, matuojamą dpi.

TTOption

Sveikasis skaičius, nurodantis, kaip bus spausdinami „TrueType“ šriftai.

Collate

Sveikasis skaičius, nurodantis, ar spausdinant kelias kopijas naudojamas gretinimas. Naudojant negretinamų kopijų parinktį, spausdinama greičiau ir efektyviau, nes duomenys į spausdintuvą siunčiami tik kartą.

FormName

Eilutė su ne daugiau kaip 16 simbolių, nurodančių norimo naudoti popieriaus dydį, pvz., „Letter“ arba „Legal“.

Pad

Ilgoji reikšmė, naudojama tarpams, simboliams arba reikšmėms ištempti būsimose versijose.

Bits

Ilgoji reikšmė, nurodanti ekrano spalvinę skiriamąją gebą, išreikštą bitais viename pikselyje.

PW

Ilgoji reikšmė, nurodanti matomo įrenginio paviršiaus (ekrano ar spausdintuvo) plotį pikseliais.

PH

Ilgoji reikšmė, nurodanti matomo įrenginio paviršiaus (ekrano ar spausdintuvo) aukštį pikseliais.

DFI

Ilgoji reikšmė, nurodanti ekrano įrenginio rodymo režimą.

DFR

Ilgoji reikšmė, nurodanti ekrano įrenginio dažnį hercais (ciklais per sekundę) konkrečiu režimu.

Pastaba: Ypatybę PrtDevMode galite nustatyti naudodami „Visual Basic for Applications“ (VBA) kodą.

Šios ypatybės parametras yra skaitomas arba rašomas naudojant dizaino arba maketo rodinį, o naudojant kitus rodinius – tik skaitomas.

Spausdintuvų tvarkyklės gali įtraukti konkretaus įrenginio duomenis iškart po DEVMODE struktūros 94 baitų ilgio duomenų. Todėl svarbu, kad aukščiau aprašyti DEVMODE duomenys neviršytų 94 baitų.

Tik tos spausdintuvo tvarkyklės, kurios eksportuoja funkciją ExtDeviceMode, naudoja DEVMODE struktūrą.

Programa gali gauti spausdintuvo palaikomus popieriaus dydžius ir pavadinimus naudodama reikšmes DC_PAPERS, DC_PAPERSIZE ir DC_PAPERNAMES, kad iškviestų funkciją DeviceCapabilities.

Prieš nustatydamos TTOption nario reikšmę, programos turėtų išsiaiškinti, kaip spausdintuvo tvarkyklė gali naudoti „TrueType“ šriftus naudodamos reikšmę DC_TRUETYPE, kad iškviestų funkciją DeviceCapabilities.

Pavyzdys

Toliau pateiktame pavyzdyje naudojama ypatybė PrtDevMode, norint patikrinti vartotojo nustatytą ataskaitos puslapių dydį.

Private Type str_DEVMODE    RGB As String * 94End TypePrivate 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 LongEnd TypePublic 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 = NothingEnd Sub

Toliau pateiktame pavyzdyje rodoma, kaip pakeisti ataskaitos padėtį. Šiame pavyzdyje padėtis bus perjungta iš stačios į gulsčią arba iš gulsčios į stačią priklausomai nuo dabartinės ataskaitos padėties.

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 = NothingEnd Sub

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.