La structure DEVMODE a la forme suivante:
typeDef struct _devicemode {nbsp ; / * dvmd * /
DmDevice&Name TCHAR [32] ;
MOT de dmSpecVersion ;
MOT de dmDriverVersion ;
MOT de dmSize ;
MOT de dmDriverExtra ;
DWORD dmFields ;
dmOrientation courte ;
dmPaperSize courte ;
dmPaperLength courte ;
dmPaperWidth courte ;
dmScale courte ;
dmCopies courtes ;
dmDefaultSource courte ;
dmPrintQuality court ;
dmColor courte ;
dmDuplex courte ;
dmYResolution courte ;
dmTTOption courte ;
dmCollate courte ;
DmFormName TCHAR [32] ;
MOT de dmUnusedPadding ;
USHORT dmBitsPerPel ;
DWORD dmPelsWidth ;
DWORD dmPelsHeight ;
DWORD dmDisplayFlags ;
DWORD dmDisplayFrequency ;
} DEVMODE
La structure de données DEVMODE contient des informations sur l'initialisation du périphérique et de l'environnement d'une imprimante.
Membres
dmDeviceName
Spécifie le nom de l'appareil, le pilote prend en charge ; par exemple, PCL/HP LaserJet dans le cas de la PCL/HP LaserJet ®. Cette chaîne est unique parmi les pilotes de périphériques.
dmSpecVersion
Spécifie le numéro de version de la spécification des données d'initialisation sur lequel repose la structure.
dmDriverVersion
Spécifie le numéro de version du pilote imprimante affecté par le développeur de pilote imprimante.
dmSize
Spécifie la taille, en octets, de la structure DEVMODE sauf membre dmDriverData (spécifique au périphérique). Si une application manipule uniquement la partie indépendante du pilote de données, il peut utiliser ce membre pour déterminer la longueur de la structure sans avoir à tenir compte des différentes versions.
dmDriverExtra
Contient le nombre d'octets de données de pilote privées qui suivent cette structure. Si un pilote de périphérique n'utilise pas d'informations spécifiques au périphérique, attribuez à ce membre à zéro.
dmFields
Spécifie que les membres restants de la structure DEVMODE ont été initialisés. Bit 0 (c'est-à-dire DM_ORIENTATION) correspond à dmOrientation; bit 1 (c'est-à-dire DM_PAPERSIZE) spécifie dmPaperSizeet ainsi de suite. Un pilote d'imprimante prend en charge uniquement les membres qui sont appropriés pour la technologie de l'imprimante.
dmOrientation
Sélectionne l'orientation du papier. Ce membre peut être DMORIENT_PORTRAIT (1) ou DMORIENT_LANDSCAPE (2).
dmPaperSize
Sélectionne la taille du document à imprimer. Ce membre peut être défini à zéro si la longueur et la largeur du papier sont toutes deux définies par les membres dmPaperLength et dmPaperWidth . Par ailleurs, le membre dmPaperSize peut être défini sur l'une des valeurs prédéfinies suivantes:
dmPaperLength
Se substitue à la longueur du papier spécifiée par le membre dmPaperSize , pour les formats de papier personnalisés ou de périphériques comme les imprimantes matricielles, qui peuvent imprimer une page de longueur arbitraire. Ces valeurs, ainsi que toutes les autres valeurs de cette structure qui spécifient une longueur physique, sont en dixièmes d'un millimètre.
dmPaperWidth
Substitue la largeur du papier spécifiée par le membre dmPaperSize.
dmScale
Spécifie le facteur par lequel la sortie imprimée est d'être mise à l'échelle. La taille de page apparente est à l'échelle de la taille de page physique par un facteur de dmScale100. Par exemple, une page de format lettre avec une valeur de dmScale de 50 pourrait contenir autant de données qu'une page 17 par 22 pouces parce que le texte de sortie et les graphiques serait la moitié de leur hauteur d'origine et largeur.
dmCopies
Sélectionne le nombre de copies imprimées si le périphérique prend en charge les copies de pages multiples.
dmDefaultSource
Réservés ; doit être égal à zéro.
dmPrintQuality
Spécifie la résolution de l'imprimante. Il y a quatre valeurs prédéfinies de device-independent:
Si une valeur positive est donnée, il spécifie le nombre de points par pouce (PPP) et est donc dépendante de dispositif.
dmColor
Commutateurs entre couleur et monochrome sur les imprimantes couleur. Voici les valeurs possibles:
dmDuplex
Sélectionne une impression recto-verso ou recto-verso pour imprimantes capables d'imprimer recto-verso. Voici les valeurs possibles:
dmYResolution
Spécifie la résolution en y, en points par pouce, de l'imprimante. Si l'imprimante initialise ce membre, le membre dmPrintQuality spécifie la résolution en x, en points par pouce, de l'imprimante.
dmTTOption
Spécifie comment les polices TrueType ® doivent être imprimées. Ce membre peut être l'une des valeurs suivantes:
dmCollate
Spécifie si le classement doit être utilisé lors de l'impression de plusieurs copies. À l'aide de DMCOLLATE_FALSE fournit plus vite, une production plus efficace, puisque les données sont envoyées à une imprimante page une seule fois, quel que soit le nombre d'exemplaires sont nécessaires. L'imprimante est dit simplement imprimer la page à nouveau. Ce membre peut être une des valeurs suivantes:
dmFormName
Spécifie le nom du formulaire à utiliser ; par exemple, lettre ou légal. Un ensemble complet de noms peut être récupéré par les fenêtres EnumForms fonction.
dmUnusedPadding
Utilisé pour aligner la structure d'une frontière DWORD . Cela ne devrait être utilisé ou référencé. Son nom et son utilisation est réservées et peut changer à l'avenir de presse.
dmBitsPerPel
Spécifie, en bits par pixel, la résolution de la couleur de l'afficheur. Par exemple: 4 bits pour les 16 couleurs, 256 couleurs 8 bits ou 16 bits pour 65 536 couleurs.
dmPelsWidth
Spécifie la largeur, en pixels, de la surface du dispositif visible.
dmPelsHeight
Spécifie la hauteur, en pixels, de la surface du dispositif visible.
dmDisplayFlags
Spécifie le mode d'affichage du périphérique. Voici les indicateurs valides:
dmDisplayFrequency
Spécifie la fréquence, en hertz (cycles par seconde), de dispositif d'affichage dans un mode particulier.
Commentaires
Les données privées d'un pilote de périphérique suivra le membre dmDisplayMode . Le nombre d'octets de données privées est spécifié par le membre dmDriverExtra.
Voir aussi  ;CDC::ResetDC, CPrintDialog::GetDevMode