IPrintDialogCallback::HandleMessage

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

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

(HRESULT HandleMessage HWNDhDlg,UINTuMsg,WPARAMwParam,LPARAMlParam,LRESULT* pResult);
 

פרמטרים

hDlg
לטפל אל תיבת הדו-שיח הילד בחלק התחתון של העמוד כללי.
uMsg
מזהה ההודעה מתקבלים.
wParam
ציון מידע נוסף אודות ההודעה. משמעותו המדויקת תלויה בערך הפרמטר uMsg.
lParam
ציון מידע נוסף אודות ההודעה. משמעותו המדויקת תלויה בערך הפרמטר uMsg.

אם הפרמטר uMsg מציין את ההודעה WM_INITDIALOG , lParam הוא מצביע למבנה PRINTDLGEX המכיל שהערכים שצוין בעת יצירת גליון המאפיינים.

pResult
המצביע למשתנה צריך להגדיר כדי לציין את התוצאה שיוחזרו על-ידי תיבת הדו-שיח עבור ההודעה.

להחזיר ערכים

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

QuickInfo

nbsp; Windows &NT: מחייב גירסה 5.0 או גירסה מתקדמת יותר.
Windows:לא נתמך.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על commdlg.h.

ראה גם

סקירה נפוצות על תיבת הדו-שיח ספריית, IPrintDialogCallback, EndDialog, PostMessage, PrintDlgEx, PRINTDLGEX, SetWindowLong, WM_COMMAND, WM_CTLCOLORDLG, WM_INITDIALOG, WM_NOTIFY

Index