ההודעה WM_NCCALCSIZE נשלח כאשר יש אפשרות לחשב את הגודל והמיקום של אזור הלקוח של חלון. על-ידי עיבוד הודעה זו, יישום יכול לשלוט בתוכן של אזור הלקוח של החלון בעת שינוי גודל או מיקום של חלון.
WM_NCCALCSIZE fCalcValidRects = wParam (BOOL); / / אזור חוקית דגל lpncsp = lParam (LPNCCALCSIZE_PARAMS); / / גודל חישוב נתונים או lpncsp = lParam (LPRECT); / / מרכזת חלון חדש
אם wParam הוא FALSE, היישום אין צורך לציין את החלק חוקי של אזור הלקוח.
אם wParam הוא FALSE, lParam מצביע RECT מבנה. בערך, המבנה מכיל למלבן החלון המוצע עבור החלון. ביציאה, המבנה יכיל את הקואורדינטות מסך של אזור הלקוח המתאים של חלון.
אם הפרמטר fCalcValidRects הוא FALSE, היישום צריך להחזיר אפס.
אם fCalcValidRects הוא TRUE, היישום צריך להחזיר אפס או צירוף של הערכים הבאים:
| ערך | משמעות |
|---|---|
| WVR_ALIGNTOP, WVR_ALIGNLEFT, WVR_ALIGNBOTTOM, WVR_ALIGNRIGHT | |
| ערכים אלה, שמשמשים במשולב, ציין כי אזור הלקוח של החלון הוא שנשתמרו, מיושר כראוי ביחס למיקום החדש של החלון. לדוגמה, כדי ליישר את אזור הלקוח אל הפינה השמאלית התחתונה, להחזיר את הערכים WVR_ALIGNLEFT ו- WVR_ALIGNBOTTOM. | |
| WVR_HREDRAW, WVR_VREDRAW | |
| ערכים אלה, משמש בשילוב עם ערכים אחרים, לגרום החלון כדי לחלוטין בעבר אם השינויים מלבן לקוח גודל בצורה אופקית או אנכית. ערכים אלה דומים CS_HREDRAW ואת CS_VREDRAW סגנונות מחלקה. | |
| WVR_REDRAW | |
| ערך זה גורם את כל החלון בעבר. זהו שילוב של ערכי WVR_HREDRAW ו- WVR_VREDRAW. | |
| WVR_VALIDRECTS | |
| ערך זה מציין כי עם החזרה מן WM_NCCALCSIZE, המלבנים שצוין על-ידי rgrc [1] , rgrc [2] חברים של מבנה NCCALCSIZE_PARAMS להכיל יעד חוקי וריבועים אזור המקור, בהתאמה. המערכת משלבת אלה מלבנים לחשב את השטח של החלון כדי להישמר. המערכת מעתיקה חלק כלשהו של התמונה חלון בתוך מלבן מקור, חותכת את התמונה מלבן היעד. שני מלבנים הם בקואורדינטות של האב-יחסית או מסך-יחסית. | |
| ערך החזרה זה מאפשר יישום ליישום אסטרטגיות שימור אזור הלקוח מורכבים יותר, כגון מרכוז או שימור תת-ערכה של אזור הלקוח. | |
אם fCalcValidRects הוא TRUE, יישום מחזירה אפס, באזור העתיק של הלקוח נשמר, מיושר עם הפינה השמאלית העליונה של האזור לקוח חדש.
החלון עשויה בעבר, תלוי אם צוין סגנון מחלקה CS_HREDRAW או CS_VREDRAW. זוהי ברירת המחדל, לאחור עיבוד של הודעה זו על-ידי הפונקציה DefWindowProc (בנוסף לשם חישוב מלבן לקוח הרגילים המתוארים בטבלה הקודמת).
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על winuser.h.
מבט כולל על Windows, חלון הודעות, DefWindowProc, MoveWindow, SetWindowPos, NCCALCSIZE_PARAMS, RECT