[זהו תיעוד ראשוני וניתנים לשינוי.]
הפונקציה PrintDlgEx קוראת את שיטת HandleMessage לתת הזדמנות לטפל בהודעות שנשלחו אל תיבת הדו-שיח הילד בחלק התחתון של העמוד כללי הדפס את גליון המאפייניםשל היישום שלך. בתיבת הדו-שיח צאצא מכיל פקדים דומים לאלה של תיבת הדו-שיח הדפסה.
(HRESULT HandleMessage HWNDhDlg,UINTuMsg,WPARAMwParam,LPARAMlParam,LRESULT* pResult);
אם הפרמטר uMsg מציין את ההודעה WM_INITDIALOG , lParam הוא מצביע למבנה PRINTDLGEX המכיל שהערכים שצוין בעת יצירת גליון המאפיינים.
להחזיר את S_OK אם יישום HandleMessage את הטיפול את ההודעה. במקרה זה, הפונקציה PrintDlgEx אינו מבצע כל טיפול הודעת ברירת המחדל.
להחזיר את S_FALSE אם ברצונך PrintDlgEx לבצע את הטיפול הודעת ברירת המחדל.
עבור הודעות דיווח עברו הודעה WM_NOTIFY , עליך להשתמש בפונקציה SetWindowLong עם הערך DWL_MSGRESULT כדי להגדיר את ערך ההחזרה. להשתמש בעת ביצוע קריאה SetWindowLong, GetParent (hDlg) כדי להגדיר את הערך DWL_MSGRESULT של העמוד כללי , שהוא האב של חלון צאצא.
הפרוצדורה תיבת הדו-שיח ברירת המחדל עבור חלון צאצא בחלק התחתון של העמוד כללי מעבד את הודעת WM_INITDIALOG לפני העברתן שיטת HandleMessage . עבור כל ההודעות האחרות הנשלחות אל חלון צאצא, HandleMessage מקבל את ההודעה הראשונה. לאחר מכן HandleMessage להחזיר ערך קובע אם הפרוצדורה תיבת דו-שיח ברירת המחדל מעבד את הודעת או יתעלם ממנה.
אם HandleMessage מעבד את הודעת WM_CTLCOLORDLG , עליה להחזיר נקודת אחיזה מברשת חוקי עבור ציור הרקע של תיבת הדו-שיח. באופן כללי, אם HandleMessage מעבד כל הודעה WM_CTLCOLOR *, עליה להחזיר נקודת אחיזה מברשת חוקי עבור ציור הרקע של הפקד שצוין.
לא לפונקציה EndDialog מן השיטה HandleMessage . במקום זאת, HandleMessage ניתן לבצע קריאה לפונקציה PostMessage כדי להציב הודעה WM_COMMAND עם הערך IDABORT להליך בתיבת הדו-שיח. הצבת IDABORT סוגר את גליון המאפיינים של הדפסה וגורמת PrintDlgEx להחזיר PD_RESULT_CANCEL החבר dwResultAction של מבנה PRINTDLGEX . אם עליך לדעת מדוע HandleMessage לסגור את תיבת הדו-שיח, עליך לספק משלך מנגנון תקשורת בין השיטה HandleMessage לבין היישום שלך.
באפשרותך לתתי פקדים רגילים בתיבת הדו-שיח ילד בתיבה בחלק התחתון של העמוד כללי . פקדים רגילים אלה דומים לאלה שנמצאו בתיבת הדו-שיח ' הדפסה '. עם זאת, ההליך תיבת הדו-שיח ברירת המחדל עשויים גם לתתי הפקדים. עקב כך, עליך לתתי הפקדים בעת HandleMessage מעבד את הודעת WM_INITDIALOG . דבר זה מבטיח את הליך לתתי מקבל הודעות בקרה ספציפית לפני ההליך לתתי שקבע את הפרוצדורה תיבת הדו-שיח.
nbsp; Windows &NT: מחייב גירסה 5.0 או גירסה מתקדמת יותר.
Windows:לא נתמך.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על commdlg.h.
סקירה נפוצות על תיבת הדו-שיח ספריית, IPrintDialogCallback, EndDialog, PostMessage, PrintDlgEx, PRINTDLGEX, SetWindowLong, WM_COMMAND, WM_CTLCOLORDLG, WM_INITDIALOG, WM_NOTIFY