PRINTDLGEX

[זהו תיעוד ראשוני וניתנים לשינוי.]

המבנה PRINTDLGEX מכיל מידע העושה שימוש בפונקציה PrintDlgEx כדי לאתחל את גליון המאפיינים של הדפסה . לאחר שהמשתמש יסגור את גליון המאפיינים, המערכת משתמשת מבנה זה כדי להחזיר מידע אודות הבחירות של המשתמש.

typedef struct tagPDEX {
    DWORD lStructSize;
    HWND hwndOwner;
    HGLOBAL hDevMode;
    HGLOBAL hDevNames;
    HDC hDC;
    DWORD דגלים;
    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
נקודת אחיזה אובייקט להזזה זיכרון גלובלי המכיל מבנה DEVMODE . אם hDevMode אינה NULL הקלט, עליך להקצות בבלוק זיכרון עבור מבנה ה- DEVMODE ולאתחל את חבריה. הפונקציה PrintDlgEx משתמשת initialize datato קלט את הפקדים בגליון המאפיינים. כאשר חוזר PrintDlgEx , חברי DEVMODE מציינים הקלט של המשתמש.

אם hDevMode הוא NULL הקלט, PrintDlgEx מקצה זיכרון עבור מבנה ה- DEVMODE מאתחל חבריה כדי לציין הקלט של המשתמש, מחזירה מזהה ייחודי המזהה אותו.

לקבלת מידע נוסף אודות חברי hDevMode , hDevNames , עיין בסעיף הערות בסוף נושא זה.

hDevNames
לטפל על אובייקט להזזה זיכרון גלובלי המכיל מבנה DEVNAMES . אם hDevNames אינה NULL הקלט, עליך להקצות בבלוק זיכרון עבור מבנה DEVNAMES ולאתחל את חבריה. הפונקציה PrintDlgEx משתמשת initialize datato קלט את הפקדים בגליון המאפיינים. כאשר חוזר PrintDlgEx , חברי DEVNAMES מכילים מידע עבור המדפסת שנבחר על-ידי המשתמש. באפשרותך להשתמש במידע זה כדי ליצור בהקשר התקן או של הקשר מידע.

חבר hDevNames יכול להיות NULL, במקרה זה, PrintDlgEx מקצה זיכרון עבור מבנה DEVNAMES , ומאותחל חבריה כדי לציין את המשתמש של הקלט, ומזהה המחזיר מזהה ייחודי אשר אותו.

לקבלת מידע נוסף אודות חברי 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
ביטול של לחצן האפשרויות עמודים ופקדי עריכה המשויך.
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 מעולם לא מוגדר חבר דגלים.

אם דגל זה אינו מוגדר, היישום אחראית הדפסה ותצוגה איסוף עותקים מרובים. במקרה זה, חבר 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 לקבוע אילו ממשקים נתמכים.

אם ברצונך לאחזר את המידע להתקשרות חזרה, הגדר NULL lpCallback.

nPropertyPages
מציין את מספר נקודות אחיזה של דף המאפיינים במערך lphPropertyPages.
lphPropertyPages
מכיל מערך של נקודות אחיזה של דף המאפיינים כדי להוסיף גליון המאפיינים של הדפסה . עמודי מאפיינים נוספים בצע את העמוד כללי . השתמש CreatePropertySheetPage הפונקציה כדי ליצור דפים נוספים אלה. אם nPropertyPages הוא אפס, lphPropertyPages צריך להיות NULL.
nStartPage
מציין את עמוד המאפיינים המוצגת בתחילה. כדי להציג את העמוד כללי , ציין START_PAGE_GENERAL. אחרת, ציין באינדקס מבוסס אפס של עמוד מאפיינים המערך שצוין בחבר lphPropertyPages . עקביות, מומלץ גליון המאפיינים תמיד יופעל בדף כללי.
dwResultAction
הקלט, קבע חבר זה אפס. אם הפונקציה PrintDlgEx מחזירה S_OK, dwResultAction מכיל את התוצאה של תיבת הדו-שיח. אם PrintDlgEx מחזיר שגיאה, חבר זה מומלץ להתעלם. חבר dwResultAction יכול להיות אחד מהערכים הבאים.
ערך משמעות
PD_RESULT_APPLY המשתמש לוחץ על לחצן החל , לאחר מכן לחיצה על לחצן ביטול . הדבר מציין כי המשתמש רוצה להחיל את השינויים שנעשו בגליון המאפיינים, אך אינו מעוניין להדפיס עדיין. המבנה PRINTDLGEX מכיל את המידע שצוין על-ידי המשתמש בזמן לחצן החל היה הלחיצה עליו.
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:לא נתמך.
חלונות 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