PRINTDLG

המבנה PRINTDLG מכיל מידע העושה שימוש בפונקציה PrintDlg כדי לאתחל את תיבת הדו-שיח הדפסה . לאחר שהמשתמש יסגור את תיבת הדו-שיח, המערכת משתמשת מבנה זה להחזיר מידע אודות הבחירות של המשתמש.

typedef struct tagPD {/ / pd DWORD lStructSize; 
    HWND hwndOwner; 
    לטפל hDevMode; 
    לטפל hDevNames; 
    HDC hDC; 
    DWORD דגלים; 
    המילה nFromPage; 
    המילה nToPage; 
    המילה nMinPage; 
    המילה nMaxPage; 
    המילה nCopies; 
    HINSTANCE hInstance; 
    DWORD lCustData; 
    LPPRINTHOOKPROC lpfnPrintHook; 
    LPSETUPHOOKPROC lpfnSetupHook; 
    LPCTSTR lpPrintTemplateName; 
    LPCTSTR lpSetupTemplateName; 
    לטפל hPrintTemplate; 
    לטפל hSetupTemplate; 
} PRINTDLG 

 

חברים

lStructSize
מציין את גודל המבנה, בבתים.
hwndOwner
מזהה את החלון שהוא הבעלים של תיבת הדו-שיח. חבר זה יכול להיות מטפל בחלון חוקי כלשהו, או זה להיות NULL אם תיבת הדו-שיח לא הבעלים.
hDevMode
נקודת אחיזה אובייקט להזזה זיכרון גלובלי המכיל מבנה DEVMODE . אם hDevMode אינה NULL הקלט, עליך להקצות בבלוק זיכרון עבור מבנה ה- DEVMODE ולאתחל את חבריה. הפונקציה PrintDlg משתמשת initialize datato קלט את הפקדים בתיבת הדו-שיח. כאשר חוזר PrintDlg , חברי DEVMODE מציינים הקלט של המשתמש.

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

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

אם שם ההתקן (שצוין על-ידי חבר dmDeviceName מבנה DEVMODE ) אינו מופיע במקטע [devices] של WIN.INI, PrintDlg מחזיר הודעת שגיאה.

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

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

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

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

hDC
מזהה בהקשר התקן או של הקשר מידע, תלוי אם החבר דגלים מציין את הדגל PD_RETURNDC או PC_RETURNIC. אם צוין אף דגל, הערך של חבר זה אינו מוגדר. אם צוינו שני דגלים, PD_RETURNDC יש עדיפות.
דגלים
ערכת דגלי סיביות בהם באפשרותך להשתמש כדי לאתחל את תיבת הדו-שיח הדפסה נפוצות. כאשר תיבת הדו-שיח חוזר, הגדרת דגלים אלה כדי לציין הקלט של המשתמש. חבר זה יכול להיות שילוב של הדגלים הבאים:
PD_ALLPAGES
דגל ברירת מחדל המציין כל לחצן האפשרות נבחר בתחילה. דגל זה משמשת כמציין מיקום כדי לציין שלא צוינו דגלים PD_PAGENUMS ו- PD_SELECTION.
PD_COLLATE
אם דגל זה מוגדר, מסומנת בתיבת הסימון אסוף.

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

PD_DISABLEPRINTTOFILE
מבטלת את תיבת הסימון הדפס לקובץ.
PD_ENABLEPRINTHOOK
מאפשר את שגרת הוו חבר lpfnPrintHook . דבר זה מאפשר הליך הוו תיבת הדו-שיח הדפסה.
PD_ENABLEPRINTTEMPLATE
מציין החברים hInstance ו- lpPrintTemplateName לציין מהווה תחליף התבנית בתיבת הדו-שיח הדפסה ברירת המחדל.
PD_ENABLEPRINTTEMPLATEHANDLE
מציין החבר hPrintTemplate מזהה בלוק נתונים המכיל את תבנית בתיבת הדו-שיח שנטענו מראש. תבנית זו מחליפה את תבנית ברירת המחדל עבור תיבת הדו-שיח הדפסה . המערכת מתעלמת חבר lpPrintTemplateName אם דגל זה מצוין.
PD_ENABLESETUPHOOK
מאפשר את שגרת הוו חבר lpfnSetupHook . דבר זה מאפשר הליך הוו בתיבת הדו-שיח הגדרת הדפסה.
PD_ENABLESETUPTEMPLATE
מציין החברים hInstance ו- lpSetupTemplateName לציין מהווה תחליף התבנית בתיבת הדו-שיח הדפסה הגדרת ברירת המחדל.
PD_ENABLESETUPTEMPLATEHANDLE
מציין החבר hSetupTemplate מזהה בלוק נתונים המכיל את תבנית בתיבת הדו-שיח שנטענו מראש. תבנית זו מחליפה את תבנית ברירת המחדל עבור תיבת הדו-שיח הגדרת הדפסה . המערכת מתעלמת חבר lpSetupTemplateName אם דגל זה מצוין.
PD_HIDEPRINTTOFILE
מסתיר את תיבת הסימון הדפס לקובץ.
PD_NONETWORKBUTTON
מסתיר, הופכת ללא זמין את הלחצן רשת.
PD_NOPAGENUMS
ביטול של לחצן האפשרויות עמודים ופקדי עריכה המשויך.
PD_NOSELECTION
ביטול של לחצן האפשרויות בחירה.
PD_NOWARNING
מונעת את הודעת האזהרה הצגת כאשר אין מדפסת ברירת מחדל.
PD_PAGENUMS
אם דגל זה מוגדר, נבחר לחצן האפשרויות עמודים.

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

PD_PRINTSETUP
גורמת למערכת להציג את תיבת הדו-שיח ' הגדרת הדפסה ' במקום תיבת הדו-שיח הדפסה.
PD_PRINTTOFILE
אם דגל זה מוגדר, תיבת הסימון הדפס לקובץ נבחר.

אם דגל זה נקבע כאשר הפונקציה PrintDlg מחזירה, ההיסט שצוין על-ידי חבר wOutputOffset של מבנה DEVNAMES מכיל את המחרוזת "קובץ:". כאשר אתה קורא בפונקציה StartDoc כדי להתחיל את פעולת ההדפסה, לציין זאת "קובץ:" במחרוזת החבר lpszOutput מבנה DOCINFO . קביעת מחרוזת זו גורמת למערכת המשנה של הדפסה כדי לבצע שאילתה המשתמש את שם קובץ הפלט.

PD_RETURNDC
גורם PrintDlg לחזור בהקשר התקן תואם את הבחירות המשתמש בתיבת הדו-שיח. בהקשר התקן מוחזר hDC.
PD_RETURNDEFAULT
אם דגל זה מוגדר, הפונקציה PrintDlg לא יציג את תיבת הדו-שיח. במקום זאת, היא קובעת את החברים hDevNames ו hDevMode נקודות האחיזה כדי DEVMODE ומבני DEVNAMES שבו מתבצע אתחול עבור מדפסת ברירת המחדל של המערכת. הן hDevNames והן hDevMode חייב להיות NULL, או PrintDlg מחזיר הודעת שגיאה.

אם מדפסת ברירת המחדל של המערכת נתמך על-ידי מנהל התקן המדפסת הישנה (מוקדם יותר Windows גירסה 3.0), מוחזרת רק hDevNames ; hDevMode הוא NULL.

PD_RETURNIC
דומה לדגל PD_RETURNDC, מלבד דגל זה מחזיר של הקשר מידע ולא בהקשר התקן. אם לא PD_RETURNDC ולא PD_RETURNIC, הוא לא מוגדר hDC הפלט.
PD_SELECTION
אם דגל זה מוגדר, לחצן האפשרויות בחירה נבחרה.

אם לא PD_PAGENUMS ולא PD_SELECTION מוגדר, כל לחצן האפשרות נבחר.

PD_SHOWHELP
גורמת לפתיחת תיבת הדו-שיח להציג את לחצן עזרה . החבר hwndOwner , עליך לציין החלון כדי לקבל את HELPMSGSTRING רשום הודעות בתיבת הדו-שיח השולח כאשר המשתמש לוחץ על לחצן עזרה.
PD_USEDEVMODECOPIES
זהה PD_USEDEVMODECOPIESANDCOLLATE
PD_USEDEVMODECOPIESANDCOLLATE
דגל זה מציין היישום שלך תומך עותקים מרובים, איסוף. הגדר דגל זה הקלט כדי לציין כי היישום שלך אינו תומך עותקים מרובים, איסוף. במקרה זה, חבר nCopies של מבנה PRINTDLG תמיד מחזירה 1, וכל PD_COLLATE מעולם לא מוגדר חבר דגלים.

אם דגל זה אינו מוגדר, היישום אחראית הדפסה ותצוגה איסוף עותקים מרובים. במקרה זה, חבר nCopies של מבנה PRINTDLG מציין את מספר העותקים שהמשתמש מעוניין להדפיס, ומציינת הדגל PD_COLLATE חבר דגלים אם המשתמש מעוניין איסוף.

ללא תלות אם דגל זה מוגדר, יישום ניתן לקבוע על-פי nCopies ו- PD_COLLATE כמה עותקים לעיבוד, אם להדפיס אותם איסוף.

אם דגל זה מוגדר מנהל המדפסת אינה תומכת עותקים מרובים, לפקד העריכה עותקים אינו זמין. באופן דומה, אם דגל זה מוגדר מנהל המדפסת תומכת באיסוף, תיבת הסימון אסוף אינו זמין.

בני dmCopies , dmCollate מבנה DEVMODE להכיל את העותקים וכן איסוף מידע בשימוש על-ידי מנהל המדפסת. אם דגל זה מוגדר ותומך במנהל המדפסת עותקים מרובים, חבר dmCopies מציין את מספר העותקים המבוקש על ידי המשתמש. אם דגל זה מוגדר מנהל המדפסת תומכת באיסוף, חבר dmCollate של מבנה ה- DEVMODE מציין אם המשתמש מעוניין האיסוף. אם דגל זה אינו מוגדר, חבר dmCopies תמיד מחזירה 1, ואת החבר dmCollate הוא תמיד אפס.


nFromPage
מציין את הערך ההתחלתי עבור פקד העריכה בדף ההתחלה.

כאשר חוזר PrintDlg , nFromPage הוא דף ההתחלה שצוין על-ידי המשתמש. אם נבחר לחצן האפשרויות עמודים כאשר המשתמש לוחץ על לחצן אישור , ערכות PrintDlg PD_PAGENUMS דגל, אינו חוזר עד שהמשתמש מזין ערך דף התחלתי הנמצא בתוך המינימלית על טווח עמודים מרבי.

Windows 95: אם ערך הקלט עבור nFromPage או nToPage נמצא מחוץ לטווח המצוין על-ידי nMinPage nMaxPage, PrintDlg מחזיר הודעת שגיאה.

Windows NT: אם ערך הקלט עבור nFromPage או nToPage היא מחוץ לטווח ערכי מינימום/מקסימום, PrintDlg מחזירה שגיאה רק אם צוין דגל PD_PAGENUMS; אחרת, הוא מציג את תיבת הדו-שיח אך משנה את הערך מחוץ לטווח הערך המינימלי או המקסימלי.

nToPage
מציין את הערך ההתחלתי עבור פקד העריכה בדף הסיום.

כאשר חוזר PrintDlg , nToPage הוא דף הסיום שצוין על-ידי המשתמש. אם נבחר לחצן האפשרויות עמודים בשימוש לוחץ על לחצן אישור , ערכות PrintDlg PD_PAGENUMS דגל, אינו חוזר עד שהמשתמש מזין ערך דף הסיום הנמצא בתוך המינימלית על טווח עמודים מרבי.

nMinPage
ציון הערך המינימלי עבור טווח העמודים המצוינים פקדי עריכה דף מ ועד . אם nMinPage שווה nMaxPage, לחצן האפשרויות עמודים פותחים וסוגרים פקדי עריכה של דף ללא זמינות.
nMaxPage
מציין את הערך המרבי עבור טווח העמודים המצוינים פקדי עריכה דף מ ועד.
nCopies
מכיל את מספר העותקים לפקד העריכה עותקים הראשוני אם hDevMode הוא NULL; אחרת, החבר dmCopies מבנה DEVMODE מכיל את הערך ההתחלתי. כאשר חוזר PrintDlg , nCopies מכיל את מספר העותקים להדפסה בפועל. ערך זה תלוי אם היישום או מנהל ההתקן של המדפסת אחראי הדפסת עותקים מרובים. אם הדגל PD_USEDEVMODECOPIESANDCOLLATE מוגדר חבר דגלים , nCopies הוא תמיד 1 חזרה, מנהל המדפסת אחראי הדפסת עותקים מרובים. אם לא מוגדר הדגל, היישום אחראית הדפסת מספר עותקים שצוין על-ידי nCopies. לקבלת מידע נוסף, עיין בתיאור של הדגל PD_USEDEVMODECOPIESANDCOLLATE.
hInstance
אם הדגל PD_ENABLEPRINTTEMPLATE או PD_ENABLESETUPTEMPLATE הוא חבר דגלים , hInstance הוא המזהה הייחודי של המופע מודול המכיל את התבנית בתיבת הדו-שיח בשם על-ידי חבר lpPrintTemplateName או lpSetupTemplateName או יישום.
lCustData
ציון נתונים המוגדרים על-ידי יישום המערכת עובר להליך הוו המזוהה על-ידי חבר lpfnPrintHook או lpfnSetupHook . כאשר המערכת שולחת את הודעת WM_INITDIALOG ההליך הוו, פרמטר lParam של ההודעה הוא שמצביע למבנה PRINTDLG צוין מתי נוצר בתיבת הדו-שיח. ההליך hook להשתמש במצביע זה כדי לקבל את הערך lCustData.
lpfnPrintHook
מצביע PrintHookProc לחבר שגרה אשר ניתן לעבד הודעות המיועד עבור תיבת הדו-שיח הדפסה . אין התייחסות איבר זה אלא אם הדגל PD_ENABLEPRINTHOOK מוגדר חבר דגלים.
lpfnSetupHook
מצביע SetupHookProc לחבר שגרה אשר ניתן לעבד הודעות המיועד עבור תיבת הדו-שיח הגדרת הדפסה . אין התייחסות איבר זה אלא אם הדגל PD_ENABLESETUPHOOK מוגדר חבר דגלים.
lpPrintTemplateName
מצביע מחרוזת המסתיימת ב- null שמות בתיבת הדו-שיח תבנית משאב במודול המזוהה על-ידי חבר hInstance . תבנית זו מחליפה את התבנית בתיבת הדו-שיח הדפסה ברירת המחדל. אין התייחסות איבר זה אלא אם הדגל PD_ENABLEPRINTTEMPLATE מוגדר חבר דגלים.
lpSetupTemplateName
מצביע מחרוזת המסתיימת ב- null שמות בתיבת הדו-שיח תבנית משאב במודול המזוהה על-ידי חבר hInstance . תבנית זו מחליפה את התבנית בתיבת הדו-שיח הגדרת הדפסה ברירת המחדל. אין התייחסות איבר זה אלא אם הדגל PD_ENABLESETUPTEMPLATE מוגדר חבר דגלים.
hPrintTemplate
אם הדגל PD_ENABLEPRINTTEMPLATEHANDLE מוגדר חבר דגלים , hPrintTemplate הוא נקודת האחיזה האובייקט זיכרון המכיל תבנית בתיבת הדו-שיח. תבנית זו מחליפה את התבנית בתיבת הדו-שיח הדפסה ברירת המחדל.
hSetupTemplate
אם הדגל PD_ENABLESETUPTEMPLATEHANDLE מוגדר חבר דגלים , hSetupTemplate הוא נקודת האחיזה האובייקט זיכרון המכיל תבנית בתיבת הדו-שיח. תבנית זו מחליפה את התבנית בתיבת הדו-שיח הגדרת הדפסה ברירת המחדל.

הערות

כאשר לפונקציה PrintDlg , ודא כי חבר wDeviceOffset של מבנה DEVNAMES זהה החבר dmDeviceName מבנה DEVMODE . אם חברים אלה מציין אותה מדפסת, PrintDlg אתחול תיבת הדו-שיח באמצעות המדפסת שצוינה על-ידי חבר wDeviceOffset.

בדרך כלל, אם הן hDevMode והן hDevNames הוא NULL, PrintDlg אתחול תיבת הדו-שיח באמצעות מדפסת ברירת המחדל הנוכחית. עם זאת, אם הגדרת את הדגל PD_RETURNDEFAULT, hDevMode וגם hDevNames הם NULL, PrintDlg משתמש hDevNames וחברי hDevMode כדי להחזיר מידע אודות מדפסת ברירת המחדל הנוכחית מבלי להציג את תיבת הדו-שיח.

QuickInfo

nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:דורש גירסה 1.0 ואילך.
כותרת עליונה:להצהיר על winspool.h.
Unicode:מוגדר כ- Unicode ומבני ANSI.

ראה גם

סקירה נפוצות על תיבת הדו-שיח ספריית, מבנים נפוצות של תיבת הדו-שיח, CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES, WM_INITDIALOG

Index