PRINTDLGEX

[นี่คือเอกสารเบื้องต้นและเรื่องการเปลี่ยนแปลง]

PRINTDLGEXโครงสร้างประกอบด้วยข้อมูลที่ใช้ในฟังก์ชันPrintDlgExจะเริ่มต้นแผ่นคุณสมบัติการพิมพ์ หลังจากผู้ใช้ปิดแผ่นคุณสมบัติ ระบบใช้โครงสร้างนี้เพื่อส่งกลับข้อมูลเกี่ยวกับผู้ใช้ที่เลือก.

typedef struct tagPDEX {
    DWORD lStructSize
    HWND hwndOwner
    HGLOBAL hDevMode
    HGLOBAL hDevNames
    HDC hDC
    DWORD Flags
    DWORD Flags2
    DWORD ExclusionFlags
    DWORD nPageRanges
    DWORD nMaxPageRanges
    LPPRINTPAGERANGE lpPageRanges
    DWORD nMinPage
    DWORD nMaxPage
    DWORD nCopies
    HINSTANCE hInstance
    LPCTSTR lpPrintTemplateName
    LPUNKNOWN lpCallback
    DWORD nPropertyPages
    HPROPSHEETPAGE * lphPropertyPages
    DWORD nStartPage
    DWORD dwResultAction
} PRINTDLGEX, * LPPRINTDLGEX 

สมาชิก

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

ถ้าhDevModeมีค่า NULL ในการป้อนข้อมูลPrintDlgExจัดสรรหน่วยความจำสำหรับโครงสร้างข้อมูล DEVMODEเริ่มต้นของสมาชิกเพื่อบ่งชี้ถึงการป้อนข้อมูลของผู้ใช้ และส่งกลับหมายเลขอ้างอิงที่ระบุว่า.

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสมาชิกhDevModeและhDevNamesดูส่วนหมายเหตุที่ส่วนท้ายของหัวข้อนี้.

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

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสมาชิกhDevModeและhDevNamesดูส่วนหมายเหตุที่ส่วนท้ายของหัวข้อนี้.

hDC
จัดการกับบริบทอุปกรณ์หรือมีข้อมูลบริบท ขึ้นอยู่กับว่าสถานะสมาชิกระบุค่าสถานะ PD_RETURNDC หรือ PC_RETURNIC ถ้ามีระบุค่าสถานะไม่ ค่าของสมาชิกนี้คือไม่ได้กำหนด ถ้ามีระบุค่าสถานะทั้งสอง PD_RETURNDC มีลำดับความสำคัญ.
ค่าสถานะ
ชุดของค่าสถานะบิตที่คุณสามารถใช้แผ่นคุณสมบัติพิมพ์การเตรียมใช้งาน เมื่อฟังก์ชันPrintDlgExจะส่งกลับ กำหนดค่าสถานะเหล่านี้เพื่อบ่งชี้ถึงการป้อนข้อมูลของผู้ใช้ สมาชิกนี้สามารถเป็นการรวมกันของค่าสถานะต่อไปนี้.
PD_ALLPAGES
ค่าสถานะเริ่มต้นที่บ่งชี้ว่า ตอนแรกเลือกปุ่มวิทยุทั้งหมด ธงนี้ใช้เป็นตัวยึดเพื่อบ่งชี้ว่า ไม่ระบุค่าสถานะ PD_PAGENUMS, PD_SELECTION และ PD_CURRENTPAGE.
PD_COLLATE
หากถูกตั้งค่าสถานะนี้ กล่องกาเครื่องหมายทีมีการตรวจสอบ.

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

PD_CURRENTPAGE
หากถูกตั้งค่าสถานะนี้ มีเลือกปุ่มวิทยุเพจปัจจุบัน ถ้าไม่มีค่าสถานะ PD_PAGENUMS, PD_SELECTION หรือ PD_CURRENTPAGE ตั้ง มีเลือกปุ่มวิทยุทั้งหมด.
PD_DISABLEPRINTTOFILE
กล่องกาเครื่องหมายพิมพ์ไปที่แฟ้มที่ปิดใช้งาน.
PD_ENABLEPRINTTEMPLATE
บ่งชี้ว่า สมาชิกที่hInstanceและlpPrintTemplateNameระบุได้แทนที่แม่แบบกล่องโต้ตอบการเริ่มต้นในส่วนล่างของหน้าทั่วไป แม่แบบเริ่มต้นประกอบด้วยตัวควบคุมที่ใกล้เคียงกับของกล่องโต้ตอบการพิมพ์ ระบบใช้แม่แบบที่ระบุเพื่อสร้างหน้าต่างที่เป็นเด็กของหน้าทั่วไป.
PD_ENABLEPRINTTEMPLATEHANDLE
บ่งชี้ว่า สมาชิกhInstanceที่ระบุข้อมูลบล็อกที่ประกอบด้วยแม่แบบกล่องโต้ตอบที่มากมายใส่ไว้ แม่แบบนี้แทนที่แม่แบบกล่องโต้ตอบเริ่มต้นในส่วนล่างของหน้าทั่วไป ระบบใช้แม่แบบที่ระบุในการสร้างหน้าต่างที่เป็นเด็กของหน้าทั่วไป ระบบสมาชิกlpPrintTemplateNameละเว้นถ้ามีระบุค่าสถานะนี้.
PD_EXCLUSIONFLAGS
บ่งชี้ว่า สมาชิกExclusionFlagsที่ระบุรายการจะถูกแยกออกจากหน้าคุณสมบัติโปรแกรมควบคุมเครื่องพิมพ์ ถ้าไม่มีการตั้งค่าสถานะนี้ รายการจะถูกแยกออก โดยเริ่มต้นจากหน้าคุณสมบัติโปรแกรมควบคุมเครื่องพิมพ์ ส่วนขยายที่ป้องกันการทำสำเนารายการระหว่างหน้าทั่วไปหน้าใดก็ได้ระบุโปรแกรมประยุกต์ และหน้าโปรแกรมควบคุมเครื่องพิมพ์.
PD_HIDEPRINTTOFILE
ซ่อนกล่องกาเครื่องหมายพิมพ์ไปที่แฟ้ม.
PD_NOCURRENTPAGE
ปิดใช้งานปุ่มเพจปัจจุบัน.
PD_NOPAGENUMS
ปิดใช้งานปุ่มPagesและตัวควบคุมการแก้ไขที่เกี่ยวข้อง.
PD_NOSELECTION
ปิดใช้งานปุ่มเลือก.
PD_NOWARNING
ป้องกันไม่ให้ข้อความแจ้งเตือนที่แสดงเมื่อมีข้อผิดพลาดเกิดขึ้น.
PD_PAGENUMS
หากถูกตั้งค่าสถานะนี้ มีเลือกปุ่มวิทยุเพ ถ้าไม่มีค่าสถานะ PD_PAGENUMS, PD_SELECTION หรือ PD_CURRENTPAGE ตั้ง มีเลือกปุ่มวิทยุทั้งหมด.

ถ้าตั้งค่าสถานะนี้เมื่อส่งกลับของฟังก์ชันPrintDlgExสมาชิกlpPageRangesบ่งชี้ว่า ช่วงหน้าที่ระบุ โดยผู้ใช้.

PD_PRINTTOFILE
หากถูกตั้งค่าสถานะนี้ มีเลือกกล่องกาเครื่องหมายพิมพ์ไปที่แฟ้ม.

ถ้าตั้งค่าสถานะนี้เมื่อส่งกลับPrintDlgExออฟเซตที่ระบุ โดยสมาชิกwOutputOffsetของโครงสร้างDEVNAMESมีสาย "แฟ้ม: " เมื่อคุณเรียกใช้การ ระบุฟังก์ชันStartDocเพื่อเริ่มต้นการดำเนินการพิมพ์ นี้ "แฟ้ม: " สายอักขระในสมาชิกlpszOutputของการ DOCINFOโครงสร้าง ระบุข้อความนี้ทำให้ระบบย่อยการพิมพ์การสอบถามผู้ใช้สำหรับชื่อของแฟ้มผลลัพธ์.

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

ถ้าไม่มีค่าสถานะ PD_PAGENUMS, PD_SELECTION หรือ PD_CURRENTPAGE ตั้ง มีเลือกปุ่มวิทยุทั้งหมด.

PD_USEDEVMODECOPIES
เหมือนกับ PD_USEDEVMODECOPIESANDCOLLATE
PD_USEDEVMODECOPIESANDCOLLATE
ธงนี้บ่งชี้ว่า โปรแกรมประยุกต์ของคุณสนับสนุนหลายสำเนาและเปรียบเทียบ ตั้งค่าสถานะนี้ป้อนข้อมูลเพื่อบ่งชี้ว่า โปรแกรมประยุกต์ของคุณไม่สนับสนุนหลายสำเนาและเปรียบเทียบ ในกรณีนี้ สมาชิกnCopiesของโครงสร้างPRINTDLGEX 1 ส่งกลับเสมอ และ PD_COLLATE ไม่ได้ถูกกำหนดในสถานะสมาชิก.

ถ้าไม่มีการตั้งค่าสถานะนี้ แอพลิเคชันจะรับผิดชอบสำหรับการพิมพ์ และ collating หลายสำเนา ในกรณีนี้ สมาชิกnCopiesของโครงสร้างPRINTDLGEXบ่งชี้จำนวนของสำเนาที่ผู้ใช้ต้องการพิมพ์ และตั้งค่าสถานะ PD_COLLATE ในสถานะสมาชิกบ่งชี้ว่า ผู้ใช้ต้องการเปรียบเทียบ.

คำนึงถึงว่าธงนี้มีการตั้งค่า แอปพลิเคชันสามารถตรวจสอบจากnCopiesและ PD_COLLATE จำนวนสำเนาเพื่อแสดง และเรียงหน้าว่าจะพิมพ์เหล่านั้นหรือไม่.

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

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


Flags2
สงวน ต้องเป็นศูนย์.
ExclusionFlags
ชุดของค่าสถานะบิตที่สามารถแยกรายการจากหน้าคุณสมบัติโปรแกรมควบคุมเครื่องพิมพ์ในแผ่นคุณสมบัติของแบบพิมพ์ ค่านี้จะใช้เฉพาะเมื่อมีการตั้งค่า PD_EXCLUSIONFLAGS ค่าสถานะในสถานะสมาชิก ควรจะใช้ค่าสถานะยกเว้นเฉพาะถ้าสินค้าที่จะถูกแยกออกจะรวมอยู่ ในหน้าใดทั่วไปหรือ บนหน้าการกำหนดโปรแกรมประยุกต์ในแผ่นคุณสมบัติของแบบพิมพ์ สมาชิกนี้สามารถระบุค่าสถานะต่อไปนี้.
PD_EXCL_COPIESANDCOLLATE
ไม่รวมตัวควบคุมสำเนาและทีจากหน้าคุณสมบัติโปรแกรมควบคุมเครื่องพิมพ์ในแผ่นคุณสมบัติของแบบพิมพ์ เสมอควรจะตั้งค่าสถานะนี้เมื่อโปรแกรมประยุกต์จะใช้ค่าเริ่มต้นสำเนาและทีควบคุมโดยส่วนล่างของหน้าของแผ่นคุณสมบัติพิมพ์ทั่วไป.

nPageRanges
ในการป้อนข้อมูล ตั้งค่าสมาชิกนี้ไปยังหมายเลขเริ่มต้นของช่วงหน้าที่ที่ระบุไว้ในอาร์เรย์lpPageRanges เมื่อฟังก์ชันPrintDlgExจะส่งกลับnPageRangesบ่งชี้จำนวนของหน้าผู้ใช้ระบุช่วงที่เก็บอยู่ในอาร์เรย์lpPageRanges ถ้ามีระบุค่าสถานะ PD_NOPAGENUMS ค่านี้ไม่ถูกต้อง.
nMaxPageRanges
ระบุขนาด ในองค์ประกอบแถวลำดับ ของบัฟเฟอร์lpPageRanges ค่านี้บ่งชี้จำนวนสูงสุดของช่วงที่มีหน้าที่สามารถเก็บไว้ในอาร์เรย์ ถ้ามีระบุค่าสถานะ PD_NOPAGENUMS ค่านี้ไม่ถูกต้อง ถ้าไม่ระบุค่าสถานะ PD_NOPAGENUMS ค่านี้ต้องมีค่ามากกว่าศูนย์.
lpPageRanges
ชี้การบัฟเฟอร์ที่ประกอบด้วยอาร์เรย์ของโครงสร้างPRINTPAGERANGE ในการป้อนข้อมูล อาร์เรย์ประกอบด้วยช่วงเพจเริ่มต้นที่แสดงในตัวควบคุมการแก้ไขหน้า เมื่อฟังก์ชันPrintDlgExส่งกลับค่าอาร์เรย์ประกอบด้วยช่วงหน้าที่ระบุ โดยผู้ใช้.

ถ้ามีระบุค่าสถานะ PD_NOPAGENUMS ค่านี้ไม่ถูกต้อง ถ้าไม่ระบุค่าสถานะ PD_NOPAGENUMS, lpPageRangesต้องไม่ใช่ NULL.

nMinPage
ระบุค่าต่ำสุดสำหรับช่วงหน้าที่ระบุไว้ในตัวควบคุมการแก้ไขหน้า ถ้ามีระบุค่าสถานะ PD_NOPAGENUMS ค่านี้ไม่ถูกต้อง.
nMaxPage
ระบุค่าสูงสุดสำหรับช่วงหน้าที่ระบุไว้ในตัวควบคุมการแก้ไขหน้า ถ้ามีระบุค่าสถานะ PD_NOPAGENUMS ค่านี้ไม่ถูกต้อง.
nCopies
ประกอบด้วยจำนวนสำเนาสำหรับสำเนาแก้ไขตัวควบคุมเริ่มต้นถ้าhDevModeเป็น NULL มิฉะนั้น สมาชิกdmCopiesของการ โครงสร้างข้อมูล DEVMODEประกอบด้วยค่าเริ่มต้น.

เมื่อPrintDlgExส่งกลับnCopiesมีจำนวนสำเนาที่โปรแกรมประยุกต์ต้องพิมพ์จริง ค่านี้ขึ้นอยู่กับว่าโปรแกรมประยุกต์หรือโปรแกรมควบคุมเครื่องพิมพ์คือรับผิดชอบสำหรับการพิมพ์หลายสำเนา หากถูกตั้งค่าสถานะ PD_USEDEVMODECOPIESANDCOLLATE ในสถานะสมาชิกnCopiesเสมอคือ 1 ในคืน และโปรแกรมควบคุมเครื่องพิมพ์ที่รับผิดชอบในการพิมพ์หลายสำเนา หากถูกตั้งค่าสถานะ แอพลิเคชันจะรับผิดชอบสำหรับการพิมพ์จำนวนสำเนาที่ระบุโดยnCopies สำหรับข้อมูลเพิ่มเติม ให้ดูคำอธิบายของค่าสถานะ PD_USEDEVMODECOPIESANDCOLLATE.

hInstance
หากถูกตั้งค่าสถานะ PD_ENABLEPRINTTEMPLATE ในสถานะสมาชิกhInstanceเป็นหมายเลขอ้างอิงของแอพลิเคชันหรืออินสแตนซ์ของโมดูลที่ประกอบด้วยแม่แบบกล่องโต้ตอบชื่อ โดยlpPrintTemplateNameสมาชิก หากถูกตั้งค่าสถานะ PD_ENABLEPRINTTEMPLATEHANDLE ในสถานะสมาชิกhInstanceคือหมายเลขอ้างอิงของวัตถุของหน่วยความจำประกอบด้วยแม่แบบกล่องโต้ตอบ ถ้าค่าสถานะแม่ก็ถูกตั้งค่าในสถานะสมาชิกhInstanceควรเป็น NULL.
lpPrintTemplateName
ตัวชี้เป็นสตริงที่สิ้นสุดด้วยค่า null ที่ชื่อทรัพยากรที่แม่แบบกล่องโต้ตอบในโมดูลที่ระบุ โดยhInstanceสมาชิก แม่แบบนี้แทนที่แม่แบบกล่องโต้ตอบเริ่มต้นในส่วนล่างของหน้าทั่วไป แม่แบบเริ่มต้นประกอบด้วยตัวควบคุมที่ใกล้เคียงกับของกล่องโต้ตอบการพิมพ์ สมาชิกนี้จะถูกละเว้นเว้นแต่ค่าสถานะ PD_ENABLEPRINTTEMPLATE ถูกตั้งค่าในสถานะสมาชิก.
lpCallback
ชี้ไปยังวัตถุโปรแกรมประยุกต์กำหนดเรียกกลับ.

วัตถุควรประกอบด้วยคลาIPrintDialogCallbackจะได้รับข้อความสำหรับกล่องโต้ตอบเด็กในส่วนล่างของหน้าทั่วไป.

ควรประกอบด้วยวัตถุการเรียกกลับ IObjectWithSiteคลารับตัวชี้อินเทอร์เฟซสำหรับIPrintDialogServices การเรียกฟังก์ชันPrintDlgEx QueryInterfaceบนวัตถุเรียกกลับทั้งIID_IPrintDialogCallbackและIID_IObjectWithSiteเพื่อกำหนดอินเทอร์เฟซที่ได้รับการสนับสนุน.

ถ้าคุณไม่ต้องการเรียกใช้ข้อมูลติดต่อกลับ ตั้งค่าlpCallbackเป็น NULL.

nPropertyPages
ระบุจำนวนของจุดจับหน้าคุณสมบัติในอาร์เรย์lphPropertyPages.
lphPropertyPages
ประกอบด้วยอาร์เรย์คุณสมบัติหน้าจับการเพิ่มลงในแผ่นคุณสมบัติของแบบพิมพ์ หน้าคุณสมบัติเพิ่มเติมตามหน้าทั่วไป ใช้ CreatePropertySheetPageฟังก์ชันเพื่อสร้างเพจเหล่านี้เพิ่มเติม ถ้า ศูนย์nPropertyPages , lphPropertyPagesควรเป็น NULL.
nStartPage
ระบุหน้าคุณสมบัติที่เริ่มแสดง เมื่อต้องการแสดงหน้าทั่วไประบุ START_PAGE_GENERAL มิฉะนั้น ระบุดัชนีของหน้าคุณสมบัติ zero-based ในอาร์เรย์ระบุไว้ในสมาชิกlphPropertyPages ความสอดคล้อง ขอแนะนำว่า แผ่นคุณสมบัติเสมอสามารถเริ่มต้นบนหน้าทั่วไป.
dwResultAction
ในการป้อนข้อมูล กำหนดสมาชิกนี้เป็นศูนย์ ถ้าฟังก์ชันPrintDlgExจะส่งกลับ S_OK, dwResultActionมีผลของกล่องโต้ตอบ ถ้าPrintDlgExส่งกลับข้อผิดพลาด สมาชิกนี้ควรถูกละเว้น สมาชิกdwResultActionสามารถเป็นหนึ่งในค่าต่อไปนี้.
ค่า ความหมาย
PD_RESULT_APPLY ผู้ใช้คลิกปุ่มการนำไปใช้และรุ่นที่ใหม่กว่าให้คลิกปุ่มยกเลิก บ่งชี้ว่า ผู้ใช้ต้องการใช้การเปลี่ยนแปลงเกิดขึ้นในแผ่นคุณสมบัติ แต่ไม่ต้องการพิมพ์ได้ โครงสร้างของPRINTDLGEXประกอบด้วยข้อมูลที่ระบุ โดยผู้ใช้ในขณะที่คลิกปุ่มApply.
PD_RESULT_CANCEL ผู้ใช้คลิกปุ่มยกเลิก ข้อมูลในโครงสร้างPRINTDLGEXไม่ได้มีการเปลี่ยนแปลง.
PD_RESULT_PRINT ผู้ใช้คลิกที่ปุ่ม'พิมพ์' โครงสร้างของPRINTDLGEXประกอบด้วยข้อมูลที่ระบุ โดยผู้ใช้.

หมายเหตุ

เมื่อคุณเรียกฟังก์ชันPrintDlgExต้องแน่ใจว่าที่สมาชิกที่wDeviceOffsetของโครงสร้างDEVNAMESไม่เหมือนกับสมาชิกdmDeviceNameของการ โครงสร้างข้อมูล DEVMODE ถ้าสมาชิกเหล่านี้ไม่ได้ระบุเครื่องพิมพ์เดียวกันPrintDlgExเริ่มต้นแผ่นคุณสมบัติการใช้เครื่องพิมพ์ที่ระบุ โดยสมาชิกwDeviceOffset.

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

ในระหว่างการดำเนินการของPrintDlgEx, โครงสร้างข้อมูล DEVMODEและDEVNAMESที่คุณระบุไว้ในโครงสร้างPRINTDLGEXอาจจะประกอบด้วยข้อมูลปัจจุบันได้ ด้วยเหตุนี้ หน้าคุณสมบัติเฉพาะโปรแกรมประยุกต์รวมทั้งงานประจำIPrintDialogCallbackสำหรับเพจเริ่มต้นควรใช้อินเทอร์เฟซสำหรับIPrintDialogServicesเพื่อเรียกข้อมูลเกี่ยวกับสถานะของเครื่องพิมพ์ปัจจุบัน.

QuickInfo

nbsp Windows &NT:ต้องการรุ่น 5.0 หรือรุ่นที่ใหม่กว่า
Windows:ไม่สนับสนุน
Windows CE:ไม่สนับสนุน
หัวข้อ:ประกาศใน commdlg.h
ไลบรารีที่นำเข้า:ใช้ comdlg32.lib
Unicode:กำหนดเป็นโครงสร้างแบบ Unicode และ ANSI.

ดูเพิ่มเติม

Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx

Index