ההליך הוו OFNHookProc הוא פונקציית התקשרות חזרה מוגדרת על-ידי יישום או מוגדרת על-ידי הספריה שבה אתה משתמש בסגנון Explorer פתיחה , שמירה בשם בתיבות דו-שיח כלליות. הפונקציה מקבלת הודעות שנשלחו מתוך תיבת הדו-שיח נפוצות. הפונקציה מקבלת גם הודעות עבור פקדים נוספים המוגדרות על-ידי ציון תבנית הדו-שיח הילד.
סוג LPOFNHOOKPROC מגדיר מצביע לפונקציה זו התקשרות חזרה. OFNHookProc הוא מציין מיקום עבור שם הפונקציה המוגדרת על-ידי יישום או מוגדרת על-ידי הספריה.
אם לא תציין את הדגל OFN_EXPLORER כאשר אתה יוצר של פתיחה או שמירה בשם נפוצות בתיבת הדו-שיח, וברצונך שגרה הוו, עליך להשתמש פרוצדורת hook OFNHookProcOldStyle בסגנון הישן. במקרה זה, תיבת הדו-שיח תהיה ממשק המשתמש בסגנון הישן.
(UINT התקשרות חזרה OFNHookProc HWND hdlg, / / לטפל לחלון דו-שיח של הילדUINTuiMsg, / / הודעת מזההWPARAMwParam, / / הודעה פרמטרLPARAMlParam / / הודעה פרמטר);
אם הפרמטר uiMsg מציין את ההודעה WM_INITDIALOG , lParam הוא מצביע למבנה הפרמטר OPENFILENAME המכיל שהערכים שצוין בעת יצירת תיבת הדו-שיח.
אם ההליך הוו מחזירה אפס, ההליך תיבת הדו-שיח ברירת המחדל מעבד את הודעת.
אם ההליך הוו מחזירה ערך שאינו אפס, ההליך תיבת הדו-שיח ברירת המחדל מתעלם ההודעה.
עבור הודעות הדיווח CDN_SHAREVIOLATION ו- CDN_FILEOK , ההליך הקרס צריך להחזיר ערך שאינו אפס כדי לציין כי השתמשה בפונקציה SetWindowLong כדי להגדיר ערך שאינו אפס DWL_MSGRESULT.
בעת השימוש בפונקציות GetOpenFileName או GetSaveFileName כדי ליצור של Explorer בסגנון פתיחה או שמירה בשם נפוצות בתיבת הדו-שיח, באפשרותך לספק פרוצדורת hook OFNHookProc . כדי להפעיל את השגרה הוו, תשתמש במבנה הפרמטר OPENFILENAME שעברת לפונקציה יצירת דו-שיח. ציין את המצביע אל השגרה הוו חבר lpfnHook וציין את הדגל OFN_ENABLEHOOK חבר דגלים.
אם תספק שגרה הוו עבור תיבת דו-שיח משותפת של Explorer בסגנון, המערכת יוצרת תיבת דו-שיח בה הוא צאצא של תיבת הדו-שיח המשמשת כברירת מחדל. ההליך הוו מתנהג הפרוצדורה תיבת דו-שיח עבור תיבת הדו-שיח של הילד. תיבת דו-שיח זו הילד מבוסס על התבנית שציינת במבנה הפרמטר OPENFILENAME , או תיבת דו-שיח הילד ברירת המחדל אם תבנית לא צוין. תיבת הדו-שיח הילד נוצרת כאשר הפרוצדורה תיבת דו-שיח ברירת המחדל מעבד את המסר WM_INITDIALOG שלו. לאחר תיבת הדו-שיח של הילד מעבד הודעה WM_INITDIALOG משלו, הפרוצדורה תיבת דו-שיח ברירת המחדל יעבור פקדים רגילים, במידת הצורך לפנות מקום עבור פקדים נוספים בתיבת הדו-שיח של הילד. המערכת לאחר מכן שולח הודעת דיווח CDN_INITDONE ההליך הוו.
ההליך הוו אינה מקבלת הודעות המיועד עבור פקדים רגילים של תיבת הדו-שיח המשמשת כברירת מחדל. באפשרותך לתתי פקדים רגילים, אך זה המנהג כי הוא עלול לגרום ליישום שלך תואמת לגירסאות עתידיות של תיבת הדו-שיח נפוצות. עם זאת, תיבות דו-שיח משותפות של Explorer בסגנון מספק ערכה של הודעות הנוהל hook להשתמש כדי לפקח ולשלוט בתיבת הדו-שיח. אלה כוללות קבוצה של הודעות שנשלחו מתיבת הדו-שיח, כמו גם הודעות שאתה שולח כדי לאחזר מידע מתיבת הדו-שיח. לקבלת רשימה מלאה של הודעות אלה, עיין בהליכים הוו Explorer בסגנון.
אם ההליך הוו מעבד את הודעת WM_CTLCOLORDLG , עליה להחזיר נקודת אחיזה מברשת חוקי עבור ציור הרקע של תיבת הדו-שיח. באופן כללי, אם מעבד כל הודעה WM_CTLCOLOR *, עליה להחזיר נקודת אחיזה מברשת חוקי עבור ציור הרקע של הפקד שצוין.
לא לפונקציה EndDialog מהסדר של ההליך הוו. במקום זאת, ההליך הוו ניתן לבצע קריאה לפונקציה PostMessage כדי להציב הודעה WM_COMMAND עם הערך IDABORT להליך בתיבת הדו-שיח. הצבת IDABORT סוגר את תיבת הדו-שיח וגורמת את הפונקציה בתיבת הדו-שיח לחזור FALSE. אם עליך לדעת מדוע ההליך וו סגור את תיבת הדו-שיח, עליך לספק משלך מנגנון תקשורת בין ההליך הוו היישום שלך.
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על commdlg.h.
ייבוא ספריית:מוגדרת על-ידי המשתמש.
סקירה נפוצות על תיבת הדו-שיח ספריית, פונקציות נפוצות של תיבת הדו-שיח, GetOpenFileName, GetSaveFileName, OFNHookProcOldStyle, הפרמטר OPENFILENAME