แสดงกล่องโต้ตอบการพิมพ์

หัวข้อนี้อธิบายตัวอย่างรหัสที่แสดงกล่องโต้ตอบพิมพ์เพื่อให้ผู้ใช้สามารถเลือกตัวเลือกสำหรับการพิมพ์เอกสาร ตัวอย่างรหัสแรก เริ่มต้นโครงสร้างแบบPRINTDLGและเรียกใช้ฟังก์ชันPrintDlgเพื่อแสดงกล่องโต้ตอบแล้ว.

ตัวอย่างนี้ตั้งค่า PD_RETURNDC ค่าสถานะในสถานะสมาชิกของโครงสร้างPRINTDLG นี้ทำให้PrintDlgส่งกลับหมายเลขอ้างอิงบริบทที่ทำให้อุปกรณ์สำหรับเครื่องพิมพ์ที่เลือกในสมาชิกhDC คุณสามารถใช้หมายเลขอ้างอิงเพื่อทำให้การแสดงผลบนเครื่องพิมพ์.

ในการป้อนข้อมูล ตัวอย่างรหัสกำหนดสมาชิกhDevModeและhDevNamesเป็น NULL ถ้าฟังก์ชันจะส่งกลับค่า TRUE สมาชิกเหล่านี้กลับจับไป DEVMODEและDEVNAMESโครงสร้างที่ประกอบด้วยผู้ใช้ของการป้อนข้อมูลและข้อมูลเกี่ยวกับเครื่องพิมพ์ คุณสามารถใช้ข้อมูลนี้เพื่อจัดเตรียมผลลัพธ์ถูกส่งไปยังเครื่องพิมพ์ที่เลือก.

PRINTDLG pd
HWND hwnd

/ / เตรียมใช้งาน PRINTDLG
ZeroMemory (แอมป์ pd, sizeof(PRINTDLG))
pd.lStructSize = sizeof(PRINTDLG)
pd.hwndOwner = hwnd
pd.hDevMode = NULL      / / อย่าลืมฟรี หรือเก็บ hDevMode
pd.hDevNames = NULL      / / อย่าลืมฟรี หรือเก็บ hDevNames
pdค่าสถานะ = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC 
pd.nCopies = 1
pd.nFromPage = 0xFFFF 
pd.nToPage = 0xFFFF 
pd.nMinPage = 1 
pd.nMaxPage = 0xFFFF 

ถ้า (PrintDlg(&pd) == TRUE) {

/ / GDI เรียกเมื่อต้องการแสดงผลลัพธ์ 

    / / DC เมื่อทำลบ
    DeleteDC(pd.hDC)
} 

Index