โครงสร้างข้อมูล DEVMODEได้แบบฟอร์มต่อไปนี้:
typedef struct _devicemode {nbsp / * dvmd * /
TCHAR dmDeviceName [32];
WORD dmSpecVersion
WORD dmDriverVersion
WORD dmSize
WORD dmDriverExtra
DWORD dmFields
dmOrientation ย่อ
dmPaperSize ย่อ
dmPaperLength ย่อ
dmPaperWidth ย่อ
dmScale ย่อ
dmCopies ย่อ
dmDefaultSource ย่อ
dmPrintQuality ย่อ
dmColor ย่อ
dmDuplex ย่อ
dmYResolution ย่อ
dmTTOption ย่อ
dmCollate ย่อ
TCHAR dmFormName [32];
WORD dmUnusedPadding
USHORT dmBitsPerPel
DWORD dmPelsWidth
DWORD dmPelsHeight
DWORD dmDisplayFlags
DWORD dmDisplayFrequency
} ข้อมูล DEVMODE(&N)
โครงสร้างข้อมูลDEVMODEประกอบด้วยข้อมูลเกี่ยวกับการเตรียมใช้งานอุปกรณ์และสภาพแวดล้อมของเครื่องพิมพ์?
สมาชิก
dmDeviceName
ระบุชื่อของโปรแกรมควบคุมอุปกรณ์รองรับ ตัวอย่างเช่น จำกัด(มหาชน) / HP LaserJet ในกรณีของการจำกัด(มหาชน) / HP LaserJet ? ข้อความนี้เป็นเอกลักษณ์ที่โปรแกรมควบคุมอุปกรณ์?
dmSpecVersion
ระบุหมายเลขรุ่นของการเตรียมใช้งานข้อมูลที่ระบุตามโครงสร้าง?
dmDriverVersion
ระบุหมายเลขรุ่นที่โปรแกรมควบคุมเครื่องพิมพ์ที่กำหนด โดยนักพัฒนาโปรแกรมควบคุมเครื่องพิมพ์?
dmSize
ระบุขนาด ไบต์ ของโครงสร้างข้อมูล DEVMODEยกเว้นสมาชิก (อุปกรณ์เฉพาะ) dmDriverData ถ้าโปรแกรมประยุกต์มากยิ่งเฉพาะโปรแกรมควบคุมแบบไม่ขึ้นกับส่วนของข้อมูล การใช้สมาชิกนี้เพื่อกำหนดความยาวของโครงสร้างได้ โดยไม่ต้องใช้บัญชีผู้ใช้สำหรับรุ่นต่าง ๆ?
dmDriverExtra
ประกอบด้วยจำนวนไบต์ของโปรแกรมควบคุมข้อมูลส่วนตัวที่ทำตามโครงสร้างนี้ ถ้าโปรแกรมควบคุมอุปกรณ์ไม่ใช้ข้อมูลของอุปกรณ์เฉพาะ ตั้งค่าสมาชิกนี้เป็นศูนย์?
dmFields
ระบุซึ่งสมาชิกที่เหลืออยู่ในโครงสร้างข้อมูล DEVMODEได้ถูกเตรียมใช้งาน บิต 0 (กำหนดเป็นDM_ORIENTATION) ที่สอดคล้องกับdmOrientation บิต 1 (กำหนดเป็นDM_PAPERSIZE) ระบุdmPaperSizeและอื่น ๆ โปรแกรมควบคุมเครื่องพิมพ์ที่สนับสนุนเฉพาะสมาชิกที่เหมาะสมกับเทคโนโลยีการพิมพ์?
dmOrientation
เลือกการวางแนวของกระดาษ สมาชิกนี้สามารถเป็นแบบDMORIENT_PORTRAIT (1) หรือDMORIENT_LANDSCAPE (2?
dmPaperSize
เลือกขนาดของกระดาษที่จะพิมพ์บน สมาชิกนี้สามารถถูกตั้งค่าเป็นศูนย์ถ้าความยาวและความกว้างของกระดาษ ทั้งสองชุด โดยสมาชิกdmPaperLengthและdmPaperWidth มิฉะนั้น สมาชิกdmPaperSizeสามารถถูกตั้งค่าเป็นหนึ่งในค่าที่กำหนดไว้ล่วงหน้าดังต่อไปนี้:
dmPaperLength
แทนความยาวของกระดาษที่ระบุ โดยสมาชิกdmPaperSizeสำหรับขนาดกระดาษแบบกำหนดเอง หรือ สำหรับอุปกรณ์เช่นเครื่องแบบจุดพิมพ์ ซึ่งสามารถพิมพ์บนหน้าของความยาวที่กำหนดเอง ค่าเหล่านี้ พร้อมกับค่าอื่น ๆ ทั้งหมดในโครงสร้างนี้ที่ระบุความยาวเท่ากับทางกายภาพ อยู่ใน tenths ของการมม.
dmPaperWidth
ความกว้างของกระดาษที่ระบุ โดยสมาชิกdmPaperSizeแทน?
dmScale
ระบุตัวคูณซึ่งพิมพ์ผลลัพธ์คือการปรับ ขนาดของหน้าแจ้งปรับจากขนาดของหน้าทางกายภาพ ด้วยตัวคูณของdmScale/100 ตัวอย่าง ขนาดตัวอักษรหน้า ด้วยค่าdmScale 50 จะประกอบด้วยข้อมูลมากเป็นหน้าของ 17 โดย 22 นิ้วเนื่องจากการแสดงผลข้อความและกราฟิกจะเป็นต้นฉบับสูงและความกว้างของครึ่ง?
dmCopies
เลือกจำนวนของสำเนาที่พิมพ์ถ้าอุปกรณ์นั้นรองรับสำเนาหลายหน้า?
dmDefaultSource
สงวน ต้องเป็นศูนย์?
dmPrintQuality
ระบุการแก้ไขปัญหาเครื่องพิมพ์ มีสี่ค่าไม่ขึ้นกับอุปกรณ์ที่กำหนดไว้ล่วงหน้า:
ถ้ามีกำหนดเป็นค่าบวก มันระบุจำนวนของจุดต่อนิ้ว (DPI) ดัง นั้นจึงขึ้นอยู่กับอุปกรณ์?
dmColor
สลับสีและขาวดำบนเครื่องพิมพ์สี ต่อไปนี้เป็นค่าเป็นไปได้:
dmDuplex
เลือกการพิมพ์แบบสองทาง หรือสองสำหรับเครื่องพิมพ์ที่มีความสามารถในการพิมพ์แบบสองทาง ต่อไปนี้เป็นค่าเป็นไปได้:
dmYResolution
ระบุ y-ความละเอียด ในจุดต่อนิ้ว ของเครื่องพิมพ์ ถ้าเครื่องพิมพ์เริ่มต้นนี้สมาชิก สมาชิกdmPrintQualityระบุ x-ความละเอียด จุดต่อนิ้ว ของเครื่องพิมพ์?
dmTTOption
ระบุว่า ควรจะพิมพ์แบบอักษร TrueType ? สมาชิกนี้สามารถเป็นหนึ่งในค่าต่อไปนี้:
dmCollate
ระบุว่า ควรใช้เปรียบเทียบเมื่อพิมพ์หลายสำเนา ใช้DMCOLLATE_FALSEได้รวดเร็วขึ้น มีประสิทธิภาพส่งเอาท์พุท เนื่องจากข้อมูลจะถูกส่งไปยังเครื่องพิมพ์หน้าเพียงครั้งเดียว ไม่ว่าจะกี่สำเนาถูกต้อง เครื่องพิมพ์จะบอกเพียงแค่พิมพ์หน้าอีกครั้ง สมาชิกนี้สามารถถูกเป็นหนึ่งในค่าต่อไปนี้:
dmFormName
ระบุชื่อของฟอร์มเพื่อใช้ ตัวอย่างเช่น ตัวอักษรหรือกฎหมาย ชุดของชื่อสามารถเรียกผ่าน Windows EnumFormsฟังก์ชัน?
dmUnusedPadding
ใช้การจัดโครงสร้างเพื่อขอบDWORD นี้ควรไม่ใช้ หรืออ้างถึง ชื่อและใช้งานถูกสงวนไว้ และสามารถเปลี่ยนแปลงในอนาคตประชาสัมพันธ์?
dmBitsPerPel
ระบุความละเอียดสีของอุปกรณ์แสดงผลในหน่วยบิตต่อพิกเซล ตัวอย่าง: 4 บิตสี 16, 8 บิต 256 สี หรือ 16 บิต 65536 สี?
dmPelsWidth
ระบุความกว้าง พิกเซล ของอุปกรณ์ที่สามารถมองเห็นพื้นผิว?
dmPelsHeight
ระบุความสูง พิกเซล ของอุปกรณ์ที่สามารถมองเห็นพื้นผิว?
dmDisplayFlags
ระบุโหมดการแสดงผลของอุปกรณ์ ต่อไปเป็นสถานะที่ถูกต้อง:
dmDisplayFrequency
ระบุความถี่ ในเฮิรตซ์ (รอบต่อวินาที), อุปกรณ์แสดงผลในโหมดใด?
ความคิดเห็น
ข้อมูลส่วนตัวของโปรแกรมควบคุมอุปกรณ์จะทำตามสมาชิกdmDisplayMode ระบุจำนวนไบต์ของข้อมูลส่วนตัว โดยสมาชิกdmDriverExtra?
ดูเพิ่มเติมnbspCDC::ResetDC, CPrintDialog::GetDevMode(&N)