CallWindowProc

הפונקציה CallWindowProc העברת מידע ההודעה ההליך שצוין חלון.

(LRESULT CallWindowProc WNDPROC  lpPrevWndFunc, / / מצביע בהליך הקודםHWNDhWnd, / / לטפל לחלוןUINTMsg, // messageWPARAMwParam, / / תחילה הודעה פרמטרLPARAMlParam / / שניה פרמטר הודעה);
 

פרמטרים

lpPrevWndFunc
מצביע לשגרה החלון הקודם.

אם ערך זה מתקבל על-ידי קריאה לפונקציה GetWindowLong עם הפרמטר nIndex GWL_WNDPROC או DWL_DLGPROC, הוא למעשה אחד את הכתובת של חלון או שגרה תיבת הדו-שיח, או נקודת אחיזה המייצגת כתובת זו.

hWnd
לטפל לשגרת חלון הודעת.
Msg
מציין את ההודעה.
wParam
ציון מידע ספציפי הודעה נוספת. התוכן של פרמטר זה תלויים ערכו של פרמטר Msg.
lParam
ציון מידע ספציפי הודעה נוספת. התוכן של פרמטר זה תלויים ערכו של פרמטר Msg.

להחזיר ערכים

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

הערות

השתמש בפונקציה CallWindowProc עבור חלון ביצירת חלוקה למחלקות משנה. בדרך כלל, כל החלונות עם מחלקת אותה לשתף בהליך חלון אחד. מחלקת משנה הוא חלון או קבוצה של windows עם המחלקה באותה שאת הודעותיו להיקלט, עיבוד על-ידי שגרה חלון אחרת (או פרוצדורות) לפני המועברים אל השגרה חלון של המחלקה.

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

אם הגדרת מחמיר, הפרמטר lpPrevWndFunc יש סוג נתונים WNDPROC. סוג WNDPROC הצהיר כדלקמן

LRESULT (התקשרות חזרה * WNDPROC) (HWND / UINT, WPARAM, LPARAM) 

 

אם לא מוגדרת מחמיר הפרמטר lpPrevWndFunc יש סוג נתונים FARPROC. סוג FARPROC הצהיר כדלקמן

int (עד WINAPI * FARPROC)) 

 

C, ההצהרה FARPROC מציין פונקציית התקשרות חזרה הכוללת רשימת של פרמטר שלא צוין. ב- C++, עם זאת, רשימת הפרמטרים ריק בהצהרה מציין כי פונקציה ללא פרמטרים. הבחנה זו עדין יכול לשבור קוד. להלן דרך אחת להתמודד עם מצב זה:

#ifdef MyWindowProcedure WNDPROC קפדנית # אחר FARPROC MyWindowProcedure #endif... lResult = CallWindowProc (MyWindowProcedure,...) 

 

לקבלת מידע נוסף אודות פונקציות שהוצהרו עם רשימות ארגומנטים ריקים, עיין שפת תכנות C++, מהדורה שנייה, על-ידי Bjarne Stroustrup.

Windows NT: הפונקציה CallWindowProc מטפל המרה ב- Unicode ל- ANSI. אין אפשרות לנצל את היתרונות של המרה זו אם אתה קורא את ההליך חלון ישירות.

QuickInfo

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

ראה גם

מבט כולל על ההליכים חלון, חלון הליך פונקציות, GetWindowLong, SetClassLong, SetWindowLong

Index