Svojstvo PrtDevMode

Primjenjuje se na

Objekt Form

Objekt Report

Svojstvo PrtDevMode omogućuje vam da postavite ili saznate podatke o načinu rada uređaja za ispis koje su navedene za obrazac ili izvješće u dijaloškom okviru Ispis. To je svojstvo vrste Variant za čitanje/pisanje.

expression.PrtDevMode

Dio expression je obavezan. To je izraz koji vraća jedan od objekata s popisa Primjenjuje se na.

Napomene

Preporučujemo da u paketu za razvojne programere za Win32 svakako pogledate potpunu dokumentaciju za svojstva PrtDevMode, PrtDevNames i PrtMip.

Postavka svojstva PrtDevMode struktura je veličine 94 bajta koja odražava strukturu DEVMODE definiranu u paketu za razvojne programere za Win32. Potpune informacije o članovima svojstva PrtDevMode potražite u paketu za razvojne programere za Win32.

Svojstvo PrtDevMode koristi sljedeće članove.

Član

Opis

DeviceName

Niz od maksimalno 32 bajta koji označava naziv uređaja koji upravljački program podržava, primjerice "HP LaserJet IIISi" ako je odabrani pisač Hewlett-Packard LaserJet IIISi. Svaki upravljački program pisača ima jedinstveni niz.

SpecVersion

Cijeli broj koji označava broj verzije strukture DEVMODE u paketu za razvojne programere za Win32.

DriverVersion

Cijeli broj koji označava broj verzije upravljačkog programa pisača koji dodjeljuje razvojni programer upravljačkog programa pisača.

Size

Cijeli broj koji označava veličinu strukture DEVMODE izraženu u bajtovima (ta vrijednost ne obuhvaća dodatni član dmDriverData za podatke specifične za uređaj koji mogu biti navedeni iza strukture). Ako aplikacija upravlja samo dijelom podataka koji ne ovisi o upravljačkom programu, navedeni član možete upotrijebiti da biste saznali duljinu strukture bez obzira na različite verzije.

DriverExtra

Cijeli broj koji označava veličinu (u bajtovima) dodatnog člana dmDriverData za podatke specifične za uređaj koji mogu biti navedeni iza strukture. Ako aplikacija ne koristi podatke specifične za uređaj, taj član postavite na 0.

Fields

Vrijednost Long koja označava preostale članove u strukturi DEVMODE koji su inicijalizirani.

Orientation

Cijeli broj koji označava usmjerenje papira. Vrijednost može biti 1 (okomito) ili 2 (vodoravno).

PaperSize

Cijeli broj koji označava veličinu papira za ispis. Ako postavite taj član na vrijednost od 0 do 256, duljina i širina papira bit će određena članovima PaperLength i PaperWidth. U suprotnom član PaperSize možete postavite na unaprijed definiranu vrijednost.

PaperLength

Cijeli broj koji označava duljinu papira u jedinicama od 1/10 milimetra. Taj član nadjačava duljinu papira određenu članom PaperSize za prilagođene veličine papira ili uređaje kao što su iglični matrični pisači koji omogućuju ispis na različite veličine papira.

PaperWidth

Cijeli broj koji označava širinu papira u jedinicama od 1/10 milimetra. Taj član nadjačava širinu papira određenu članom PaperSize.

Scale

Cijeli broj koji označava faktor prema kojem će ispis biti skaliran. Vidljiva veličina stranice skalirana je s fizičke veličine stranice pomoću faktora skaliranja/100. List papira dimenzija 8,5 x 11 inča (veličina letter) s vrijednošću člana Scale postavljenom na 50 na taj način može sadržavati istu količinu podataka kao i stranica veličine 17 x 22 inča jer će ispisani tekst i grafike biti upola manje u odnosu na njihovu izvornu visinu i širinu.

Copies

Cijeli broj koji označava broj ispisanih kopija ako uređaj za ispis podržava kopije na više stranica.

DefaultSource

Cijeli broj koji označava zadani spremnik za ulaganje papira.

PrintQuality

Cijeli broj koji označava razlučivost pisača. Vrijednosti su –4 (visoka), –3 (srednja), –2 (niska) i –1 (skica).

Color

Cijeli broj. Označava hoće li pisač u boji sadržaj ispisati u boji. Vrijednosti su 1 (u boji) i 2 (crno-bijelo).

Duplex

Cijeli broj. Označava hoće li pisač s mogućnošću obostranog ispisa ispisati sadržaj na obje strane papira. Vrijednosti su 1 (jednostrano), 2 (vodoravno) i 3 (okomito).

YResolution

Cijeli broj koji označava y-razlučivost pisača izraženu u točkama po inču (tpi). Ako pisač inicijalizira taj član, član PrintQuality označava x-razlučivost pisača izraženu u tpi.

TTOption

Cijeli broj koji označava način ispisa fontova TrueType.

Collate

Cijeli broj koji označava hoće li se prilikom ispisa više kopija koristiti razvrstavanje. Korištenje nerazvrstanih kopija omogućuje brži i učinkovitiji ispis jer se podaci u pisač šalju samo jednom.

FormName

Niz s najviše 16 znakova koji označava veličinu korištenog papira, primjerice "Letter" ili "Legal".

Pad

Vrijednost Long koja se koristi za umetanje praznina, znakova ili vrijednosti za buduće verzije.

Bits

Vrijednost Long koja označava razlučivost boje uređaja za prikaz izraženu u bitovima po pikselu.

PW

Vrijednost Long koja označava širinu vidljive površine uređaja (zaslona ili pisača) izraženu u pikselima.

PH

Vrijednost Long koja označava visinu vidljive površine uređaja (zaslona ili pisača) izraženu u pikselima.

DFI

Vrijednost Long koja označava način prikaza uređaja.

DFR

Vrijednost Long koja označava frekvenciju uređaja za prikaz u određenom načinu rada izraženu u hercima (ciklusima po sekundi).


Napomena : Svojstvo PrtDevMode možete postaviti pomoću koda programa Visual Basic for Applications (VBA).

Svojstvo je u prikazu dizajna ili prikazu izgleda dostupno za čitanje/pisanje, a u drugim prikazima samo za čitanje.

Upravljački programi pisača mogu dodavati podatke specifične za uređaj odmah iza strukture DEVMODE veličine 94 bajta. Zbog toga veličina gore navedenih podataka strukture DEVMODE ne smije premašivati 94 bajta.

Strukturu DEVMODE koriste samo pisači koji izvoze funkciju ExtDeviceMode.

Aplikacija može dohvatiti veličine i nazive papira koje pisač podržava pomoću vrijednosti DC_PAPERS, DC_PAPERSIZE i DC_PAPERNAMES pomoću kojih se poziva funkcija DeviceCapabilities.

Prije postavljanja vrijednosti člana TTOption aplikacije moraju provjeriti na koji način upravljački program pisača može koristiti fontove TrueType. To mogu učiniti korištenjem vrijednosti DC_TRUETYPE za pozivanje funkcije DeviceCapabilities.

Primjer

U sljedećem je primjeru prikazano korištenje svojstva PrtDevMode za provjeru korisnički definirane veličine stranice za izvješće:

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

U sljedećem je primjeru prikazano kako promijeniti usmjerenje izvješća. Primjer prikazuje promjenu usmjerenja iz okomitog u vodoravno ili iz vodoravnog u okomito, ovisno o trenutnom usmjerenju izvješća.

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
Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×