Struktura DEVMODE ma następującą postać:
element TypeDef struct _devicemode {nbsp; / * dvmd * /
TCHAR dmDevice&Name [32];
Program WORD dmSpecVersion;
Program WORD dmDriverVersion;
Program WORD dmSize;
Program WORD dmDriverExtra;
DWORD dmFields;
krótkie dmOrientation;
krótkie dmPaperSize;
krótkie dmPaperLength;
krótkie dmPaperWidth;
krótkie dmScale;
krótkie dmCopies;
krótkie dmDefaultSource;
krótkie dmPrintQuality;
krótkie dmColor;
krótkie dmDuplex;
krótkie dmYResolution;
krótkie dmTTOption;
krótkie dmCollate;
TCHAR dmFormName [32];
Program WORD dmUnusedPadding;
USHORT dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
DWORD dmDisplayFlags;
DWORD dmDisplayFrequency;
} DEVMODE
Struktura danych DEVMODE zawiera informacje na temat urządzenia inicjujące i środowiska drukarki.
Członkowie
dmDeviceName
Określa nazwę urządzenia sterownik obsługuje; na przykład PCL/HP LaserJet z PCL/HP LaserJet ®. Ten ciąg jest unikatowa wśród sterowników urządzeń.
dmSpecVersion
Określa numer wersji specyfikacji danych inicjowania, na której oparty jest struktura.
dmDriverVersion
Określa numer wersji sterownika drukarki przypisany przez dewelopera sterownika drukarki.
dmSize
Określa rozmiar, w bajtach, struktury DEVMODE , z wyjątkiem dmDriverData dotyczącego (specyficzne dla urządzenia) . Jeżeli aplikacja operuje jedynie część zależne od sterownika danych, można użyć tego członka do określenia długości struktury bez konieczności pod uwagę różnych wersji.
dmDriverExtra
Zawiera liczbę bajtów prywatnych danych sterownik, który za strukturą DEVMODE. Jeśli sterownik urządzenia nie używa informacji specyficznych dla urządzenia, ustawić tego członka do zera.
dmFields
Określa, który z pozostałych członków w strukturze DEVMODE zostały zainicjowane. Bit 0 (zdefiniowanego jako DM_ORIENTATION) odpowiada dmOrientation; bit 1 (zdefiniowanego jako DM_PAPERSIZE) określa, dmPaperSizei tak dalej. Sterownik drukarki obsługuje tylko te elementy członkowskie, które są odpowiednie dla technologii drukarki.
dmOrientation
Wybiera orientację papieru. Ten element może być DMORIENT_PORTRAIT (1) lub DMORIENT_LANDSCAPE (2).
dmPaperSize
Wybiera rozmiar papieru do drukowania. Członek ten można ustawić na zero jeśli długość i szerokość papieru są zarówno zestaw przez dmPaperLength i dmPaperWidth . W przeciwnym razie członek dmPaperSize można ustawić do jednego z następujących wstępnie zdefiniowanych wartości:
dmPaperLength
Zastępuje długość papieru określony przez członka dmPaperSize , niestandardowych rozmiarów papieru lub urządzenia takie jak drukarki mozaikowe, które można wydrukować na stronie o dowolnej długości. Wartości te, wraz z wszystkich innych wartości w tej struktury określające fizycznymi długość, są w dziesiątych częściach milimetr.
dmPaperWidth
Zastępuje szerokość papieru określony przez członka dmPaperSize.
dmScale
Określa współczynnik, przez który wydruku ma być skalowany. Rozmiar strony widoczna jest skalowany od wielkości fizycznej strony przez współczynnik dmScale/100. Na przykład stronę o rozmiarze letter o wartości dmScale 50 zawiera tyle danych jako strona 17 na 22 cale ponieważ wyjściowy tekst i grafika będzie połowa ich oryginalnej wysokości i szerokości.
dmCopies
Wybiera liczbę kopii drukowanych, jeśli urządzenie obsługuje wielu kopii strony.
dmDefaultSource
Zarezerwowane; musi mieć wartość zero.
dmPrintQuality
Określa rozdzielczość drukarki. Istnieją cztery wstępnie zdefiniowanych wartości niezależny od urządzenia:
Jeśli podany jest wartością dodatnią, określa liczbę punktów na cal (DPI) i jest w związku z tym urządzeń zależnych.
dmColor
Przełącza między kolorów i czarno-białych na drukarek kolorowych. Poniżej przedstawiono możliwe wartości:
dmDuplex
Wybiera drukowanie dwustronne lub dwustronnie dla drukarek mogących drukowania dwustronnego. Poniżej przedstawiono możliwe wartości:
dmYResolution
Określa y rozdzielczość w punktach na cal, drukarki. Jeżeli drukarka inicjuje ten element członkowski, członek dmPrintQuality określa x rozdzielczość w punktach na cal, drukarki.
dmTTOption
Określa, w jaki sposób powinny być drukowane czcionki TrueType ®. Ten członek może mieć jedną z następujących wartości:
dmCollate
Określa, czy sortowanie powinny być używane podczas drukowania wielu kopii. Przy użyciu DMCOLLATE_FALSE zapewnia szybsze, bardziej efektywne wyjścia, ponieważ dane są przesyłane do drukarki stronicowej tylko jeden raz, niezależnie od tego, ile kopii są wymagane. Drukarka jest powiedział po prostu wydrukować stronę ponownie. Ten element może być zostać, jedna z następujących wartości:
dmFormName
Określa nazwę formularza do użytku; na przykład Letter i Legal. Kompletny zestaw nazw mogą być pobierane za pośrednictwem systemu Windows EnumForms funkcji.
dmUnusedPadding
Używane do wyrównywania struktury do granicy DWORD . Nie nazwy to być wykorzystywane lub odwołania. Jego nazwa i obciążenie jest zarezerwowana i można zmienić w przyszłych wydaniach.
dmBitsPerPel
Określa w bitach na piksel rozdzielczooć kolorów urządzenia wyświetlającego. Na przykład: 4 bity na 16 kolorów, 8 bitów na 256 kolorów lub 16 bitów do 65 536 kolorów.
dmPelsWidth
Określa szerokość w pikselach, widocznej powierzchni urządzenia.
dmPelsHeight
Określa wysokość w pikselach, widocznej powierzchni urządzenia.
dmDisplayFlags
Określa tryb wyświetlania urządzenia. Poniżej przedstawiono ważne flagi:
dmDisplayFrequency
Określa częstotliwość, w Hz (liczbę cykli na sekundę), urządzenia wyświetlającego w okreolonym trybie.
Komentarze
Sterownik urządzenia prywatnych danych nastąpi członka dmDisplayMode . Liczba bajtów danych prywatnych jest określona przez członka dmDriverExtra.
Zobacz też CDC::ResetDC, CPrintDialog::GetDevMode