Ιδιότητα PrtDevMode

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο προέρχεται από μηχανική μετάφραση, δείτε την αποποίηση ευθυνών. Θα βρείτε την αγγλική έκδοση του παρόντος άρθρου εδώ για αναφορά.

Ισχύει για

Αντικείμενο Form

Αντικείμενο Report

Μπορείτε να χρησιμοποιήσετε την ιδιότητα PrtDevMode για να ορίσετε ή να επιστρέψετε τις πληροφορίες κατάστασης λειτουργίας της συσκευής εκτύπωσης που καθορίζονται σε μια φόρμα ή μια έκθεση στο παράθυρο διαλόγου Εκτύπωση. Ανάγνωση/εγγραφή Variant (Μεταβλητή).

έκφραση.PrtDevMode

έκφραση Απαιτείται. Μια έκφραση που επιστρέφει ένα από τα αντικείμενα της λίστας "Ισχύει για".

Σχόλια

Συνιστάται να συμβουλευθείτε το κιτ ανάπτυξης λογισμικού Win32 για μια πλήρη τεκμηρίωση σχετικά με τις ιδιότητες PrtDevMode, PrtDevNames, και PrtMip.

Η ρύθμιση της ιδιότητας PrtDevMode είναι μια δομή 94-byte η οποία αντικατοπτρίζει τη δομή DEVMODE που καθορίζεται στο κιτ ανάπτυξης λογισμικού Win32. Για πλήρεις πληροφορίες σχετικά με τα μέλη της ιδιότητας PrtDevMode, συμβουλευθείτε το κιτ ανάπτυξης λογισμικού Win32.

Η ιδιότηταλειτουργίαPrtDevχρησιμοποιεί τα ακόλουθα μέλη.

Μέλος

Περιγραφή

DeviceName

Μια συμβολοσειρά με μέγιστο αριθμό byte 32 η οποία προσδιορίζει το όνομα της συσκευής που υποστηρίζεται από το πρόγραμμα οδήγησης — για παράδειγμα, "HP LaserJet IIISi" εάν ο Hewlett-Packard LaserJet IIISi είναι ο καθορισμένος εκτυπωτής. Κάθε πρόγραμμα οδήγησης εκτυπωτή έχει μια μοναδική συμβολοσειρά.

SpecVersion

Μια ακέραιος αριθμός που καθορίζει τον αριθμό έκδοσης της δομής DEVMODE στο κιτ ανάπτυξης λογισμικού Win32.

DriverVersion

Ένας Ακέραιος αριθμός που καθορίζει τον αριθμό έκδοσης του προγράμματος οδήγησης εκτυπωτή ο οποίος εκχωρείται από τον κατασκευαστή.

Size

Ένας Ακέραιος αριθμός που καθορίζει το μέγεθος, σε byte, της δομής DEVMODE. (Αυτή η τιμή δεν περιλαμβάνει το προαιρετικό μέλος dmDriverData για δεδομένα που αφορούν μια συγκεκριμένη συσκευή, και που μπορεί να ακολουθούν αυτή τη δομή.) Αν κάποια εφαρμογή χειρίζεται μόνο το τμήμα των, ανεξάρτητων από το πρόγραμμα οδήγησης, δεδομένων, μπορείτε να χρησιμοποιήσετε αυτό το μέλος προκειμένου να βρείτε το μήκος αυτής της δομής χωρίς να πρέπει να εξηγήσετε τις διαφορετικές εκδόσεις.

DriverExtra

Ένας Ακέραιος αριθμός ο οποίος καθορίζει το μέγεθος, σε byte, του προαιρετικού μέλους dmDriverData για δεδομένα που αφορούν μια συγκεκριμένη συσκευή και τα οποία μπορεί να ακολουθούν αυτή τη δομή. Αν μια εφαρμογή δεν χρησιμοποιεί πληροφορίες που αφορούν κάποια συσκευή, ορίστε την τιμή 0 για αυτό το μέλος.

Fields

A μεγάλη τιμή που καθορίζει ποιο από τα υπόλοιπα μέλη στη δομή DEVMODE έχουν προετοιμαστεί.

Orientation

Ένας Ακέραιος αριθμός ο οποίος καθορίζει τον προσανατολισμό του χαρτιού. Μπορεί να είναι 1 (κατακόρυφος) ή 2 (οριζόντιος).

PaperSize

Ένας Ακέραιος αριθμός που καθορίζει το μέγεθος του χαρτιού εκτύπωσης. Αν ορίσετε αυτό το μέλος στην τιμή 0 ή 256, το μήκος και το πλάτος του χαρτιού καθορίζονται από τα μέλη PaperLength και PaperWidth, αντίστοιχα. Διαφορετικά, μπορείτε να ορίσετε το μέλος PaperSize με βάση μια προκαθορισμένη τιμή.

PaperLength

Ένας Ακέραιος αριθμός που καθορίζει το μήκος του χαρτιού σε μονάδες 1/10 του χιλιοστόμετρου. Αυτό το μέλος υπερισχύει του μήκους χαρτιού που καθορίζεται από το μέλος ΜέγεθοςΧαρτιού για προσαρμοσμένα μεγέθη χαρτιού ή για συσκευές όπως εκτυπωτές ακίδας που έχουν τη δυνατότητα να εκτυπώνουν σε διαφορετικά μεγέθη χαρτιού.

PaperWidth

Ένας Ακέραιος αριθμός που καθορίζει το πλάτος χαρτιού σε μονάδες 1/10 του χιλιοστόμετρου. Αυτό το μέλος υπερισχύει του πλάτους χαρτιού που καθορίζεται από το μέλος PaperSize.

Scale

Ένας Ακέραιος αριθμός που καθορίζει τον παράγοντα βάσει του οποίου κλιμακώνεται η εκτύπωση. Το προφανές μέγεθος χαρτιού κλιμακώνεται από το φυσικό μέγεθος του χαρτιού με τον παράγοντα κλίμακας/100. Για παράδειγμα, ένα κομμάτι χαρτιού μήκους 4,25 επί 5,5 εκ. (μέγεθος letter) με τιμή Κλίμακας 50 θα περιέχει την ίδια ποσότητα δεδομένων με μια σελίδα μήκους 8,5 επί 11 εκ., επειδή το κείμενο και τα γραφικά στην εκτύπωση θα έχουν το μισό από το αρχικό μήκος και πλάτος τους.

Copies

Ένας Ακέραιος αριθμός που καθορίζει τον αριθμό των αντιγράφων που εκτυπώνονται εάν η συσκευή εκτύπωσης υποστηρίζει αντίγραφα πολλαπλών σελίδων.

DefaultSource

Ένας Ακέραιος αριθμός που καθορίζει την προεπιλεγμένη κασέτα από την οποία γίνεται η τροφοδοσία του χαρτιού.

PrintQuality

Ένας Ακέραιος αριθμός που καθορίζει την ανάλυση του εκτυπωτή. Οι τιμές είναι –4 (υψηλή), –3 (μεσαία), –2 (χαμηλή), και –1 (πρόχειρο).

Color

Ένας Ακέραιος αριθμός. Για έναν έγχρωμο εκτυπωτή, καθορίζει εάν η εκτύπωση θα είναι έγχρωμη. Οι τιμές είναι 1 (έγχρωμη) και 2 (μονόχρωμη).

Duplex

Ένας Ακέραιος αριθμός. Για έναν εκτυπωτή με δυνατότητα εκτύπωσης διπλής όψης, καθορίζει εάν η εκτύπωση θα γίνεται και στις δύο πλευρές του χαρτιού. Οι τιμές είναι 1 (απλή), 2 (οριζόντια), και 3 (κατακόρυφη).

YResolution

Ένας Ακέραιος αριθμός που καθορίζει την ανάλυση-y του εκτυπωτή σε κουκκίδες ανά ίντσα (dpi). Αν ο εκτυπωτής προετοιμάζει αυτό το μέλος, το μέλος PrintQuality καθορίζει την ανάλυση-x του εκτυπωτή σε dpi.

TTOption

Ένας Ακέραιος αριθμός που καθορίζει τον τρόπο με τον οποίο εκτυπώνονται οι γραμματοσειρές TrueType.

Collate

Ένας Ακέραιος αριθμός που καθορίζει εάν κατά την εκτύπωση πολλαπλών αντικειμένων, θα χρησιμοποιείται συρραφή. Η χρήση αντιγράφων χωρίς συρραφή παρέχει ταχύτερη, και καλύτερο αποτέλεσμα εκτύπωσης, δεδομένου ότι τα δεδομένα αποστέλλονται στον εκτυπωτή μόνο μια φορά.

FormName

Μια συμβολοσειρά με μέγιστο αριθμό χαρακτήρων 16, που καθορίζει το μέγεθος του χαρτιού που χρησιμοποιείται, για παράδειγμα "Letter" ή "Legal".

Pad

Μια τιμή Ακέραιου μεγάλου μήκους η οποία χρησιμοποιείται για την προσθήκη διαστημάτων, χαρακτήρων ή τιμών για μελλοντικές εκδόσεις.

Bits

Μια τιμή Ακέραιου μεγάλου μήκους η οποία καθορίζει, σε bit ανά pixel, την ανάλυση οθόνης για μια οθόνη.

PW

Μια τιμή Ακέραιου μεγάλου μήκους η οποία καθορίζει το πλάτος, σε pixel, της ορατής επιφάνειας της συσκευής (οθόνη ή εκτυπωτής).

PH

Μια τιμή Ακέραιου μεγάλου μήκους η οποία καθορίζει το ύψος, σε pixel, της ορατής επιφάνειας της συσκευής (οθόνη ή εκτυπωτής).

DFI

Μια τιμή Ακέραιου μεγάλου μήκους η οποία καθορίζει την κατάσταση προβολής της συσκευής.

DFR

Μια τιμή Ακέραιου μεγάλου μήκους η οποία καθορίζει τη συχνότητα, σε hertz (κύκλοι ανά δευτερόλεπτο), της συσκευής προβολής σε μια συγκεκριμένη κατάσταση.


ΣΗΜΕΙΩΣΗ : Μπορείτε να ορίσετε την ιδιότητα PrtDevMode χρησιμοποιώντας Visual Basic for Applications (VBA) κώδικα.

Αυτή η ιδιότητα είναι σχεδιασμένη σε κατάσταση ανάγνωσης/εγγραφής σε Προβολή σχεδίασης ή Προβολή διάταξης και σε κατάσταση μόνο για ανάγνωση στις υπόλοιπες προβολές.

Τα προγράμματα οδήγησης εκτυπωτή μπορούν να προσθέσουν αμέσως δεδομένα που αφορούν μια συγκεκριμένη συσκευή με βάση τα 94 byte της δομής DEVMODE. Για το λόγο αυτό, είναι σημαντικό τα δεδομένα DEVMODE που αναφέρθηκαν παραπάνω να μην υπερβαίνουν σε μέγεθος τα 94 byte.

Μόνο τα προγράμματα οδήγησης εκτυπωτή που εξάγουν τη συνάρτηση ExtDeviceMode χρησιμοποιούν τη δομή DEVMODE.

Μια εφαρμογή μπορεί να ανακτήσει τα ονόματα και τα μεγέθη χαρτιού που υποστηρίζονται από έναν εκτυπωτή χρησιμοποιώντας τις τιμές DC_PAPERS, DC_PAPERSIZE, και DC_PAPERNAMES για την κλήση της συνάρτησης DeviceCapabilities.

Πριν ρυθμίσουν την τιμή του μέλους TTOption, οι εφαρμογές πρέπει να κατανοήσουν με ποιον τρόπο ένα πρόγραμμα οδήγησης εκτυπωτή μπορεί να χρησιμοποιήσει τις γραμματοσειρές TrueType, εφαρμόζοντας την τιμή DC_TRUETYPE για την κλήση της συνάρτησηςDeviceCapabilities.

Παράδειγμα

Το ακόλουθο παράδειγμα χρησιμοποιεί την ιδιότητα 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

Το ακόλουθο παράδειγμα παρουσιάζει τον τρόπο με τον οποίο μπορείτε να αλλάξετε τον προσανατολισμό μιας έκθεσης. Αυτό το παράδειγμα αλλάζει τον προσανατολισμό από κατακόρυφο σε οριζόντιο ή αντίστροφα ανάλογα με τον τρέχοντα προσανατολισμό της έκθεσης.

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

ΣΗΜΕΙΩΣΗ : Αποποίηση ευθυνών αυτόματης μετάφρασης: Αυτό το άρθρο έχει μεταφραστεί από ένα σύστημα υπολογιστή χωρίς ανθρώπινη παρέμβαση. Η Microsoft προσφέρει αυτές τις αυτόματες μεταφράσεις για να βοηθά τους μη αγγλόφωνους χρήστες να απολαμβάνουν περιεχόμενο σχετικά με προϊόντα, υπηρεσίες και τεχνολογίες της Microsoft. Το άρθρο προέρχεται από μηχανική μετάφραση, συνεπώς ενδέχεται να περιέχει λάθη λεξιλογίου, σύνταξης ή γραμματικής.

Κοινή χρήση Facebook Facebook Twitter Twitter Ηλεκτρονικό ταχυδρομείο Ηλεκτρονικό ταχυδρομείο

Σας βοήθησαν αυτές οι πληροφορίες;

Πολύ ωραία! Έχετε άλλα σχόλια;

Πώς μπορούμε να το βελτιώσουμε;

Σας ευχαριστούμε για τα σχόλιά σας!

×