Odnosi se na
|
Objekat „Form“ |
|
Objekat izveštaja |
Možete da koristite svojstvo PrtDevMode da biste postavili ili vratili informacije o režimu uređaja za štampanje koje su navedene za obrazac ili izveštaj u dijalogu Štampanje. Varijanta za čitanje/upisivanje.
izraz.PrtDevMode
expression Obavezno. Izraz koji daje jedan od objekata sa liste „Odnosi se na“.
Napomene
Preporučujemo da pogledate Win32 Software Development Kit za kompletnu dokumentaciju o svojstvima PrtDevMode, PrtDevNames i PrtMip.
Postavka svojstva PrtDevMode je struktura od 94 bajta koja preslikava DEVMODE strukturu definisanu u kompletu Win32 Software Development Kit. Za više informacija o članovima svojstva PrtDevMode pogledajte Win32 Software Development Kit.
Svojstvo PrtDevMode koristi sledeće članove.
|
Član |
Opis |
|
DeviceName |
niska sa najviše 32 bajta koja navodi ime uređaja koji upravljački program podržava – na primer, „HP LaserJet IIISi“ ako je Hewlett-Packard LaserJet IIISi naveden kao štampač. Svaki upravljački program štampača ima jedinstvenu nisku. |
|
SpecVersion |
Ceo broj koji navodi broj verzije DEVMODE strukture u kompletu Win32 Software Development Kit. |
|
DriverVersion |
Ceo broj koji navodi broj verzije upravljačkog programa štampača koji je dodelio projektant upravljačkog programa štampača. |
|
Size |
Ceo broj koji navodi veličinu DEVMODE strukture, u bajtovima. (Ova vrednost ne uključuje opcionalni dmDriverData član za podatke specifične za uređaj, koji mogu da prate ovu strukturu.) Ako aplikacija manipuliše samo delovima podataka nezavisnim od upravljačkog programa, možete da koristite ovaj član da biste saznali dužinu ove strukture bez potrebe da računate za različite verzije. |
|
DriverExtra |
Ceo broj koji navodi veličinu, u bajtovima, opcionalnog dmDriverData člana za podatke specifične za uređaj, koji mogu da slede ovu strukturu. Ako aplikacija ne koristi informacije specifične za uređaj, postavite ovaj član na 0. |
|
Fields |
Dugačka vrednost koja navodi koji su od preostalih članova u DEVMODE strukturi pokrenuti. |
|
Orientation |
Ceo broj koji navodi položaj papira. To može biti 1 (uspravno) ili 2 (položeno). |
|
PaperSize |
Ceo broj koji navodi veličinu papira za štampanje. Ako postavite ovaj član na 0 ili 256, dužina i širina papira navedene su pomoću članova PaperLength i PaperWidth. U suprotnom, možete da podesite član PaperSize na unapred definisanu vrednost. |
|
PaperLength |
Ceo broj koji navodi dužinu papira u jedinicama od 1/10 milimetra. Ovaj član zamenjuje dužinu papira koju navodi član PaperSize za prilagođene veličine papira ili uređaje kao što su matrični štampači, koji mogu štampati na različitim veličinama papira. |
|
PaperWidth |
Ceo broj koji navodi širinu papira u jedinicama od 1/10 milimetra. Ovaj član zamenjuje širinu papira koju navodi član PaperSize. |
|
Scale |
Ceo broj koji navodi faktor prema kojem se skalira odštampani izlaz. Vidljiva veličina stranice se skalira u odnosu na fizičku veličinu stranice pomoću faktora razmera/100. Na primer, papir veličine 8,5 sa 11 inča (veličina Letter) sa vrednošću skaliranja 50 sadržao bi istu količinu podataka kao stranica od 17 sa 22 inča zato što bi izlazni tekst i grafika bili upola svoje prvobitne visine i širine. |
|
Copies |
Ceo broj koji navodi broj odštampanih kopija ako uređaj za štampanje podržava kopije sa više stranica. |
|
DefaultSource |
Ceo broj koji navodi podrazumevani držač iz kog se papir ubacuje. |
|
PrintQuality |
Ceo broj koji navodi rezoluciju štampača. Vrednosti su -4 (visoka), -3 (srednja), -2 (niska) i -1 (radna verzija). |
|
Color |
Ceo broj. Za štampač u boji navodi da li se izlaz štampa u boji. Vrednosti su 1 (u boji) i 2 (jednobojno). |
|
Duplex |
Ceo broj. Navodi da li se izlaz štampa na obe strane papira za štampač koji može obostrano da štampa. Vrednosti su 1 (jednostrano), 2 (horizontalno), 3 (vertikalno). |
|
YResolution |
Ceo broj koji navodi y-rezoluciju štampača u tačkama po inču (tpi). Ako štampač pokrene ovaj član, član PrintQuality navodi x-rezoluciju štampača u tpi. |
|
TTOption |
Ceo broj koji navodi kako će se štampati TrueType fontovi. |
|
Collate |
Ceo broj koji navodi da li bi uparivanje trebalo da se koristi pri štampanju više kopija. Korišćenje neuparenih kopija obezbeđuje brži, efikasniji izlaz jer se podaci šalju štampaču samo jednom. |
|
FormName |
Niska sa maksimalno 16 znakova koja navodi veličinu papira koji se koristi; na primer „Letter“ ili „Legal“. |
|
Pad |
Dugačka vrednost koja se koristi za popunjavanje razmaka, znakova ili vrednosti za buduće verzije. |
|
Bits |
Dugačka vrednost koja u bitovima po pikselu navodi rezoluciju boje uređaja za prikaz. |
|
PW |
Dugačka vrednost koja navodi širinu u pikselima vidljive površine uređaja (ekrana ili štampača). |
|
PH |
Dugačka vrednost koja navodi visinu u pikselima vidljive površine uređaja (ekrana ili štampača). |
|
DFI |
Dugačka vrednost koja navodi režim prikaza uređaja. |
|
DFR |
Dugačka vrednost koja navodi frekvenciju, u hercima (broj ciklusa u sekundi), uređaja za prikaz u određenom režimu. |
Napomena: Svojstvo PrtDevMode možete da podesite pomoću Visual Basic for Applications (VBA) koda.
Postavka ovog svojstva je za čitanje/upisivanje u prikazu dizajna ili prikazu rasporeda i samo za čitanje u drugim prikazima.
Upravljački programi štampača mogu da dodaju podatke specifične za uređaj odmah nakon 94 bajta DEVMODE strukture. Iz tog razloga, važno je da DEVMODE podaci navedeni iznad ne premašuju 94 bajta.
Samo upravljački programi štampača koji izvoze funkciju ExtDeviceMode koriste DEVMODE strukturu.
Aplikacija može preuzeti veličine i nazive papira koje podržava štampač pomoću vrednosti DC_PAPERS, DC_PAPERSIZE i DC_PAPERNAMES da bi pozivala funkciju DeviceCapabilities.
Pre postavljanja vrednosti TTOption člana, aplikacije treba da saznaju kako upravljački program štampača može koristiti TrueType fontove pomoću vrednosti DC_TRUETYPE za pozivanje funkcije DeviceCapabilities.
Primer
Sledeći primer koristi svojstvo PrtDevMode za proveru korisnički definisane veličine stranice za izveštaj:
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
Sledeći primer vam pokazuje kako da promenite položaj izveštaja. Ovaj primer prebacuje položaj iz uspravnog u položeni ili obrnuto, u zavisnosti od trenutnog položaja izveštaja.
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