La struttura DEVMODE ha la seguente forma:
typedef struct _devicemode {nbsp; / * dvmd * /
TCHAR dmDevice&Name [32];
WORD dmSpecVersion;
WORD dmDriverVersion;
WORD dmSize;
WORD dmDriverExtra;
DWORD dmFields;
breve dmOrientation;
breve dmPaperSize;
breve dmPaperLength;
breve dmPaperWidth;
breve dmScale;
breve dmCopies;
breve dmDefaultSource;
dmPrintQuality breve;
dmColor breve;
breve dmDuplex;
breve dmYResolution;
breve dmTTOption;
breve dmCollate;
TCHAR dmFormName [32];
WORD dmUnusedPadding;
USHORT dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
DWORD dmDisplayFlags;
DWORD dmDisplayFrequency;
} DEVMODE
La struttura di dati DEVMODE contiene informazioni sull'inizializzazione del dispositivo e ambiente di una stampante.
Membri
dmDeviceName
Specifica il nome del dispositivo il driver supporta; ad esempio, PCL/HP LaserJet del PCL/HP LaserJet ®. Questa stringa è unica tra i driver di periferica.
dmSpecVersion
Specifica il numero di versione della specifica inizializzazione dati su cui si basa la struttura.
dmDriverVersion
Specifica il numero di versione del driver di stampante assegnato dallo sviluppatore driver stampante.
dmSize
Specifica la dimensione, in byte, della struttura DEVMODE tranne il membro di dmDriverData (dispositivo specifico). Se un'applicazione modifica solo la porzione indipendente dal driver dei dati, è possibile utilizzare questo membro per determinare la lunghezza della struttura senza avere tenere conto di diverse versioni.
dmDriverExtra
Contiene il numero di byte di dati di pilota privati che seguono questa struttura. Se un driver di dispositivo non utilizza informazioni specifiche del dispositivo, impostare questo membro a zero.
dmFields
Specifica che i membri rimanenti nella struttura DEVMODE sono stati inizializzati. Bit 0 (definito come DM_ORIENTATION) corrisponde a dmOrientation; bit 1 (definito come DM_PAPERSIZE) specifica dmPaperSizee così via. Un driver di stampante supporta solo i membri che sono appropriati per la tecnologia di stampante.
dmOrientation
Seleziona l'orientamento della carta. Questo membro può essere DMORIENT_PORTRAIT (1) o DMORIENT_LANDSCAPE (2).
dmPaperSize
Seleziona il formato della carta per stampare su. Questo membro può essere impostato su zero se la lunghezza e la larghezza della carta sono entrambe impostate dai membri dmPaperLength e dmPaperWidth . In caso contrario, il membro dmPaperSize può essere impostato su uno dei seguenti valori predefiniti:
dmPaperLength
Esegue l'override della lunghezza della carta specificata dal membro dmPaperSize , formati carta personalizzata o per periferiche quali stampanti a matrice di punti, che possono stampare su una pagina di lunghezza arbitraria. Questi valori, insieme a tutti gli altri valori in questa struttura che specificano una lunghezza fisica, sono in decimi di millimetro.
dmPaperWidth
Esegue l'override della larghezza della carta specificata dal membro dmPaperSize.
dmScale
Specifica il fattore che l'output stampato è quello di essere scalata. Le dimensioni della pagina apparente viene ridimensionata dalle dimensioni fisiche della pagina di un fattore di dmScale100. Ad esempio, una pagina formato lettera con un valore di dmScale di 50 può contenere più dati come pagina di 17 da 22 pollici perché il testo di output e la grafica sarebbe mezzo loro originale height e width.
dmCopies
Seleziona il numero di copie stampate se il dispositivo supporta pagine multiple copie.
dmDefaultSource
Riservati; deve essere zero.
dmPrintQuality
Specifica la risoluzione della stampante. Ci sono quattro valori predefiniti dell'indipendente dal dispositivo:
Se viene assegnato un valore positivo, specifica il numero di punti per pollice (DPI) ed è quindi dipendente dal dispositivo.
dmColor
Commuta tra colore e bianco e nero su stampanti a colori. Di seguito sono riportati i valori possibili:
dmDuplex
Seleziona stampa duplex o su due lati per stampanti in grado di stampa fronte-retro. Di seguito sono riportati i valori possibili:
dmYResolution
Specifica la risoluzione y, in punti per pollice della stampante. Se la stampante Inizializza questo membro, il membro dmPrintQuality specifica la risoluzione x, in punti per pollice della stampante.
dmTTOption
Specifica come font TrueType ® deve essere stampato. Questo membro può essere uno dei seguenti valori:
dmCollate
Specifica se le regole di confronto deve essere utilizzata quando si stampano più copie. Utilizzando DMCOLLATE_FALSE fornisce più veloce, più efficiente in uscita, poiché i dati vengono inviati a una stampante a pagina solo una volta, non importa quante copie sono necessarie. La stampante è detto semplicemente stampare la pagina di nuovo. Questo membro può essere uno dei seguenti valori:
dmFormName
Specifica il nome del modulo da utilizzare; ad esempio, lettera o legale. Una serie completa di nomi può essere recuperata attraverso le finestre EnumForms funzione.
dmUnusedPadding
Utilizzate per allineare la struttura di un confine DWORD . Questo non dovrebbe essere utilizzato o a cui fa riferimento. Il nome e l'uso è riservati e può cambiare in futuro releases.
dmBitsPerPel
Specifica di bit per pixel, la risoluzione del colore della periferica di visualizzazione. Per esempio: 4 bit per 16 colori, 8 bit per 256 colori o 16 bit per 65.536 colori.
dmPelsWidth
Specifica la larghezza in pixel, della superficie visibile del dispositivo.
dmPelsHeight
Specifica l'altezza, in pixel, della superficie visibile del dispositivo.
dmDisplayFlags
Specifica la modalità di visualizzazione del dispositivo. Di seguito sono flag validi:
dmDisplayFrequency
Specifica la frequenza in hertz (cicli al secondo), del dispositivo di visualizzazione in una modalità particolare.
Commenti
Dati privati di un driver di periferica seguirà il membro dmDisplayMode . Il numero di byte di dati privati è specificato dal membro dmDriverExtra.
Vedere a&nchenbsp;CDC::ResetDC, CPrintDialog::GetDevMode